Skip to content

Latest commit

 

History

History
154 lines (132 loc) · 3.42 KB

File metadata and controls

154 lines (132 loc) · 3.42 KB

APIJSONDemo

支持多数据源-rediSQL

redis table 表名规范: REDIS_TABLE_*
开发人员可自行控制
JedisBuildData
public static final String REDIS_TABLE_KEY = "REDIS_TABLE_"; // rediSql table prefix

Access、Request配置 访问操作权限

rediSQL安装使用
https://github.com/RedBeardLab/rediSQL

官方docker安装
docker pull dalongrong/redisql docker run -itd --name redisql -p 6399:6379 dalongrong/redisql

rediSQL注意事项
rediSQL免费版有后遥控制,每个小时会发送 redist info 统计信息
image

可以配host ,弄一个nginx 本地代理 解决,或者 项目自己重新打包

rediSQL java:
https://github.com/RedBeardLab/JRediSQL
https://www.youtube.com/watch?v=YRusC-AIq_g

本示例 用 redis cluster rediSQL, 具体redis集群模式, 开发人员自行控制
将 libredis_sql.so 导入redis.config
--loadmodule /etc/redis/libredis_sql.so
rediSQL 创建数据库表命令

REDISQL.EXEC DB "CREATE TABLE REDIS_TABLE_A(id TEXT, A INT, B TEXT, C TEXT, userId TEXT);"

REDISQL.EXEC DB "INSERT INTO REDIS_TABLE_A(id,A,B,C,userId) VALUES('1', 3, '1c', 'bar','1');"


REDISQL.EXEC DB "SELECT * FROM REDIS_TABLE_A;"

REDISQL.EXEC DB "drop table REDIS_TABLE_A;"

测试用例

{
	"@datasource": "redisCluster",
    "REDIS_TABLE_A":{
        "A": 1,
        "B": "B",
        "C": "C"
    },
    "tag": "REDIS_TABLE_A",
    "@explain": true,
    "format": true
}

{
    "REDIS_TABLE_A[]": [
        {
            "A": 5,
            "B": "5B",
            "C": "5C"
        },
        {
            "A": 6,
            "B": "6B",
            "C": "6C"
        },
        {
            "A": 7,
            "B": "7B",
            "C": "7C"
        }
    ],
    "tag": "REDIS_TABLE_A[]",
    "@datasource": "redisCluster",
    "@explain": true,
    "format": true
}

{
    "@datasource": "redisCluster",
    "REDIS_TABLE_A": {
        "id": "f2621698-99fa-4698-9fb0-8c7b585da403",
        "A": 1,
        "B": "1B"
    },
    "tag": "REDIS_TABLE_A",
    "@explain": true,
    "format": true
}

Request 表配置 
{"REDIS_TABLE_A[]": [{"MUST": "A,B", "REFUSE": "id"}], "INSERT": {"@role": "OWNER,ADMIN","@combine": "A | B"}}

{
    "@datasource": "redisCluster",
    "REDIS_TABLE_A": {
        "A": 1,
        "B": "1B",
        "C": "1-1-1C"
    },
    "tag": "REDIS_TABLE_A",
    "@explain": true,
    "format": true
}

{
    "@datasource": "redisCluster",
    "REDIS_TABLE_A:a": {
        "@column":"a,b,c",
        "b$": "7B%"
    },
    "@explain": true,
    "format": true
}

{
    "@datasource": "redisCluster",
    "REDIS_TABLE_A:a[]": {
        "REDIS_TABLE_A": {
            "@column":"a,b,c"
            //"b$": "1%"
        },
        "page":0,
        "count":3,
        "query": 2
    },
    "total@": "/REDIS_TABLE_A:a[]/total",
    "@explain": true,
    "format": true
}

{
    "@datasource": "redisCluster",
    "REDIS_TABLE_A": {
        "id": "f2621698-99fa-4698-9fb0-8c7b585da403"
    },
    "tag": "REDIS_TABLE_A",
    "@explain": true,
    "format": true
}

{
    "@datasource": "redisCluster",
    "REDIS_TABLE_A:a": {
        "id{}": ["1","eb3dd7c9-bab6-410c-b70a-cbbc3bd12896", "c83b3cfa-034e-4a9e-b2cf-83520db1ce05"]
    },
    "tag": "REDIS_TABLE_A[]",
    "@explain": true,
    "format": true
}