二、redis对Hash List Set常用操作命令

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

猜你喜欢

转载自www.cnblogs.com/jiarui-zjb/p/12635455.html