redis操作命令总结(持续更新)
HASH
1.HGET(根据field获取hash数据)
(1)、HGET(key,field)
HGET test_hash name
2.HSET(添加/修改)
(1)、HSET(key,field,value) 该命令将哈希表键为key中field的值设为value。如果键不存在,会新建一个哈希表并设置域的值(存在修改、不存在添加)
添加:HSET test_hash users ‘{“name”:“嘻嘻”,“age”:“180”}’
修改:HSET test_hash users ‘{“name”:“xixi”,“age”:“18”}’
3.HGETALL(获取hash所有数据)
(1)、HGETALL(key)
HGETALL test_hash
4.HKEYS(获取指定key的所有field)
(1)、HKEYS(key)
HKEYS test_hash
5.HVALS(获取指定key的所有value)
(1)、HVALS(key)
HVALS test_hash
6.HDEL(删除hash表中键为key的域field)
(1)、HDEL(key,field) field支持多个
HDEL test_hash name //删除field等于name的数据
7.HEXISTS (hash表中是否存在指定键为key的域field)
(1)、HEXISTS(key,field) 存在1否则0
HEXISTS test_hash name //返回 0
HEXISTS test_hash user //返回1
LIST
1.LRANGE(获取list所有数据)
(1)、LRANGE(key,start,stop)
LRANGE test_list 0 -1
(2)、 LINDEX(key,index)
LINDEX test_list 4 //获取下标3的数据
2.PUSH(插入元素)
(1)、向前(首)添加:LPUSH(key,value) value可以多个
LPUSH test_list '{"test":[{"age":15,"name":"lisi"}],"type":"preson","id":"123456789"}'
(2)、向后(尾)添加:RPUSH(key,value) value可以多个
RPUSH test_list '{"Rtest":[{"Rage":15,"Rname":"lisi"}],"Rtype":"preson","idR":"123456789"}'
插入多条:LPUSH/LPUSH key 'value1' 'value2' ..... 多个字符串 不是放数组里面
3.POP(删除元素)
(1)、从头(前)删除:LPOP(key,count) 默认不写count删除1条,想删除3条 count=3
LPOP test_list 从前开始删除1条
LPOP test_list 3 从前开始删除3条
(1)、从后(尾)删除:RPOP(key,count) 默认不写count删除1条,想删除2条 count=2
RPOP test_list 从尾开始删除1条
RPOP test_list 2 从尾开始删除2条
删除成功会返回删除的数据
4.LINDEX(获取指定索引的值)
(1)、LINDEX(key,index)
LINDEX test_list 3 //获取list下标为3的value
5.LRANGE(按索引范围获取值)
(1)、LRANGE(key start stop)
LRANGE test_list 2 4
6.LLEN(返回list长度)
(1)、LLEN(key)
LLEN test_list
7.LREM(删除元素)
(1)、LREM(key,count,value) 根据value删除
LREM test_list 2 value1 //删除test_list的两个value1
如果是复杂的数据结构需要根据下标来删除
(2)、LREM(key,1,index) 根据index删除
LREM test_list 1 2 //删除test_list下标为2的value ?.有问题删除不了
JSON
1. JSON.GET(获取数据)
(1)、JSON.GET(key,[path])
如果给定了路径,该命令返回指定路径的值;否则返回整个JSON对象。
2. JSON.SET(修改数据)
(1)、JSON.SET(key,path,‘value’)
JSON.SET test_json ‘$.users[?(@.name==“wangyanhui”)].channels[?(@.name==“bark”)].enable’ false
3. JSON.ARRAPPEND(向指定路径的数组尾部添加一个新元素)
(1)、JSON.ARRAPPEND(key,path,value)
JSON.ARRAPPEND test_json $.users[0].subscribes ‘{“sn”: “ASCG99999999”,“datapoints”:{ “all”: true, “conditions”: [“test_alarm_1”],“channels”: {“bark”:false}}}’
4. JSON.TYPE(判断key是否为一个JSON对象)
(1)、JSON.TYPE(key)
JSON.TYPE test_json