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
下载 rediSQL.so https://github.com/RedBeardLab/rediSQL/releases
启动 redis-server 并加载 RediSQL.so
redis-server --loadmodule RediSQL_<version>.so
例如
redis-server --loadmodule RediSQL_v1.1.1_9b110f__debug.so
redis-server --loadmodule RediSQL_v1.1.1_9b110f__release.so
redis-server --loadmodule RediSQL_v1.1.1_9b110f_x86_64-unknown-linux-gnu_debug.so
redis-server --loadmodule RediSQL_v1.1.1_9b110f_armv7-unknown-linux-gnueabihf_debug.so
redis-server --loadmodule RediSQL_v1.1.1_9b110f_arm-unknown-linux-gnueabi_debug.so
官方docker安装
docker pull dalongrong/redisql
docker run -itd --name redisql -p 6399:6379 dalongrong/redisql
rediSQL注意事项
rediSQL免费版有后遥控制,每个小时会发送 redist info 统计信息
可以配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
}