1、redis对hash操作的常用命令:
--将哈希表键key中的域field的值设为value
语法:HSET key field value
示例1:hset type:hash:book name nodejs
示列2:hset type:hash:book auth tom
备注:如果auth tom 已经存在,如果再次对auth进行赋值的话,会将auth对应的value值tom给覆盖掉
--返回哈希表键 key中给定域field的值()
语法:HGET key field
示列:hget type:hash:book name
--当且仅当键key中的域field不存在时,将域field的值设为value
语法:HSETNX key field value
示列:hsetnx type:hash:book name nodejs
--返回哈希表键 key 中域的数量
语法:HLEN key
示列:hlen type:hash:book
--将哈希表键key中的域field中储存的数字值增加increment
语法:HINCRBY key field increment
示列:hincrby type:hash:book pagination 10
hincrby type:hash:book pagination 1 返回:"11"
--为键key中的域field中储存的值加上浮点数增量increment
语法:HINCRBYFLOAT key field increment
示例:hincrbyfloat type:hash:book price 60.1 返回:"60.100000000000001"
hincrbyfloat type:hash:book price -0.1 返回:"60"
--返回哈希表键key中的所有域
语法:HKEYS key
示列:hkeys type:hash:book
返回结果:
1)"name"
2)"auth"
3)"pagination"
4)"price"
5)"num"
--返回哈希表键key中所有域的值
语法:HVALS key
示列:hvals type:hash:book
--返回哈希表键key中,所有的域和值
语法:HGETALL key
示列:hgetall type:hash:book
--检验哈希表键key中给定域field是否存在
语法:HEXISTS key field
示列:hexists type:hash:book name
--删除哈希表键 key 中的一个或多个域
语法:HDEL key field1 field2 ...
示列:hdel type:hash:book auth num
--迭代哈希表键 key 中的键值对
语法:HSCAN key cursor [MATCH pattern] [COUNT count]
说明:MATCH pattern:只返回和给定模式pattern相匹配的域
COUNT count:每次迭代从数据集返回count个元素
示列步骤1:hmset type:hash:book total:price 100 L1:price 90 L2:price 80 L3:price 70
返回结果:
1) "name"
2) "nodejs"
3) "pagination"
4) "11"
5) "price"
6) "60"
7) "total:price"
8) "100"
9) "L1:price"
10) "90"
11) "L2:price"
12) "80"
13) "L3:price"
14) "70"
示列步骤2:hscan type:hash:book 0 match L*:price count 1
返回结果:
1) "0"
2) 1) "L1:price"
2) "90"
3) "L2:price"
4) "80"
5) "L3:price"
6) "70"
参看文章:
https://www.runoob.com/redis/redis-strings.html
https://blog.csdn.net/pengjunlee/article/details/78838262
2、 Redis对列表(List) 的常用操作命令:
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素
(4294967295, 每个列表超过40亿个元素)。
--添加list中的元素:
示列:lpush type:list:book mysql
lpush type:list:book moogdb
--获取list中的元素
示例:lrange type:list:book 0 10
返回结果:
1) "moogdb"
2) "mysql"
参看文章:
https://www.runoob.com/redis/redis-lists.html 对list操作命令全集
3、Redis对集合(Set) 的常用操作命令:
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
--向集合添加一个或多个成员
语法: sadd key member1 [member2]
示列: sadd type:collection:set redis
sadd type:collection:set mongodb mysql
--遍历set集合中的数据即:返回集合中的素有成员
语法: smembers key
示列: smembers type:collection:set
返回值:
1) "mysql"
2) "redis"
3) "mogodb"
--获取集合的成员数
语法:scard key
--返回给定所有集合的差集
语法: sdiff key1 [key2]
示列: sdiff type:collection:set type:collection:set1
返回值:
1) "redis"
--返回给定所有集合的差集并存储在 destination 中
语法: sdiffstore destination key1 [key2]
示列: sdiffstore type:collection:set3 type:collection:set type:collection:set1
smembers type:collection:set3
1) "redis"
--返回给定所有集合的交集
语法: sinter key1 [key2]
示列: sinter type:collection:set type:collection:set1
返回值:
1) "mysql"
2) "mogodb"
--返回给定所有集合的交集并存储在 destination 中
语法: sinterstore destination key1 [key2]
示列: sinterstore type:collection:set4 type:collection:set type:collection:set1
--判断member元素是否是集合 key 的成员
语法: sismember key member
示列: sismember type:collection:set4 mysql
--将member元素从source 集合移动到destination 集合
语法: smove source destination member
示列: smove type:collection:set type:collection:set4 redis
smembers type:collection:set4
返回值:
1) "mysql"
2) "redis"
3) "mogodb"
smembers type:collection:set
返回值:
1) "mysql"
2) "mogodb"
--移除并返回集合中的一个随机元素
语法: spop key
示列: spop type:collection:set4
返回值:
"redis"
smembers type:collection:set
返回值:
1) "mysql"
2) "mogodb"
--返回集合中一个或多个随机数
语法: srandmember key [count]
语法: srandmember type:collection:set4 1
--移除集合中一个或多个成员
语法: srem key member1 [member2]
--返回所有给定集合的并集
语法: sunion key1 [key2]
--所有给定集合的并集存储在 destination 集合中
语法: sunionstore destination key1 [key2]
--迭代集合中的元素
语法: sscan key cursor [MATCH pattern] [COUNT count]
示列: sscan type:collection:set4 0 match *
返回值:
1) "0"
2) 1) "mysql"
2) "mogodb"
参看文章:
https://www.runoob.com/redis/redis-hashes.html