redis常用操作

redis常用操作(string,list)

  • string
  • 列表内容

使用set添加数据 新值会替代旧值,没有提示

127.0.0.1:6379> set key1 shuai
OK
127.0.0.1:6379> set key2 linux
OK
127.0.0.1:6379> set key1 linux
OK
127.0.0.1:6379> get key1 
"linux"

使用setnx添加数据时,会检测数据是否存在
0表示值存在,没有替换;1表示值不存在,添加进了数据库

127.0.0.1:6379> setnx key1 aaa
(integer) 0
127.0.0.1:6379> setnx key3 aaa
(integer) 1
127.0.0.1:6379> get key1
"linux"
127.0.0.1:6379> get key3
"aaa"

设定数据的过期时间

#值在前,过期时间在后
127.0.0.1:6379> set key3 aaa ex 100
OK
#过期时间在前,值在后
127.0.0.1:6379> setex key 60 aaa
OK
  • list

list是区分左右的,从左边添加,左变取出,是“栈”,左边添加,右边取出,是“列表”。同理右边添加,右边取出。是“栈”,右边添加,左边取出“列表”。

127.0.0.1:6379> LRANGE list2 0 -1
1) "ccc"
2) "bbb"
3) "aaa"
127.0.0.1:6379> RPOP list2 
"aaa"
127.0.0.1:6379> LPOP list2
"ccc"
127.0.0.1:6379> LRANGE list2 0 -1
1) "bbb"

list插入值

#在bbb值后面,插入值ccc,前面插入值aaa
127.0.0.1:6379> LRANGE list2 0 -1
1) "bbb"
127.0.0.1:6379> LINSERT list2 after bbb ccc
(integer) 2
127.0.0.1:6379> LRANGE list2 0 -1
1) "bbb"
2) "ccc"
127.0.0.1:6379> LINSERT list2 before bbb aaa
(integer) 3
127.0.0.1:6379> LRANGE list2 0 -1
1) "aaa"
2) "bbb"
3) "ccc"

修改元素值

127.0.0.1:6379> LRANGE list2 0 -1
1) "aaa"
2) "bbb"
3) "ccc"
#这里的1表示元素的位置而不是元素的值,位置从0开始
127.0.0.1:6379> lset list2 1 111
OK
127.0.0.1:6379> LRANGE list2 0 -1
1) "aaa"
2) "111"
3) "ccc"

查看元素的值

127.0.0.1:6379> LRANGE list2 0 -1
1) "aaa"
2) "111"
3) "ccc"
127.0.0.1:6379> LINDEX list2 1
"111"
127.0.0.1:6379> LINDEX list2 2
"ccc"

查看列表中有多少个元素

127.0.0.1:6379> LLEN list2
(integer) 3
  • set

     #集合中添加元素
     127.0.0.1:6379> SADD set1 aaa bbb
    (integer) 2
    
    #查看集合中所有的元素
    127.0.0.1:6379> SMEMBERS set1
    1) "aaa"
    2) "a"
    3) "c"
    4) "b"
    5) "bbb"
    
    #删除指定的元素
    127.0.0.1:6379> SREM set1 aaa bbb
    (integer) 2
    127.0.0.1:6379> SMEMBERS set1
    1) "a"
    2) "c"
    3) "b"
    
    #随机取一个元素,并删除    
    127.0.0.1:6379> SPOP set1 
    "c"
    127.0.0.1:6379> SMEMBERS set1
    1) "a"
    2) "b"
    
    #查看两集合的差集
    127.0.0.1:6379> SDIFF set2 set1
    1) "1"
    2) "2"
    127.0.0.1:6379> SDIFF set1 set2 
    1) "b"
    这时,两集合顺序不同得到的结果不同。结果就是,前面一个集合减去他们的交集。
    
    #求差集并存储,存储到set3里
    127.0.0.1:6379> SDIFFSTORE set3 set1 set2
    (integer) 1
    127.0.0.1:6379> SMEMBERS set3
    1) "b"
    
    #求交集
    127.0.0.1:6379> SINTER set1 set2
    1) "a"
    2) "c"
    3) "2"
    
    #求交集并存储到set4中
    127.0.0.1:6379> SINTERSTORE set4 set1 set2
    (integer) 3
    127.0.0.1:6379> SMEMBERS set4
    1) "a"
    2) "c"
    3) "2"
    
    #求并集
    127.0.0.1:6379> SUNION set1 set2
    1) "a"
    2) "c"
    3) "1"
    4) "b"
    5) "2"
    
    #求并集并存储set5中
    127.0.0.1:6379> SUNIONSTORE set5 set1 set2
    (integer) 5
    127.0.0.1:6379> SMEMBERS set5
    1) "a"
    2) "c"
    3) "1"
    4) "b"
    5) "2"
    
    
    #判断一个元素是否在一个集合中,没有就是0,有就是1
    
    127.0.0.1:6379> SISMEMBER set1 a
    (integer) 1
    127.0.0.1:6379> SISMEMBER set1 aaa
    (integer) 0
    
    #从某集合随机取指定数量的元素,但不删除:
    127.0.0.1:6379> srandmember set1 3
    1) "ddd"
    2) "bbb"
    3) "ccc"
    127.0.0.1:6379> SMEMBERS set1
    1) "aaa"
    2) "mmm"
    3) "ddd"
    4) "bbb"
    5) "ccc"
    
  • sort set

    #创建有序集合
    127.0.0.1:6379> zadd zset1 11 123
    (integer) 1
    127.0.0.1:6379> zadd zset1 1 abc
    (integer) 1
    127.0.0.1:6379> ZRANGE zset1 0 -1
    1) "abc"
    2) "123"
    
    #显示所有元素
    127.0.0.1:6379> ZRANGE zset1 0 -1
    1) "abc"
    2) "123"
    3) "shau"
    4) "aoi"
    
    #反序显示所有元素,并带分值
    127.0.0.1:6379> ZREVRANGE zset1 0 -1
    1) "aoi"
    2) "shau"
    3) "abc"
    
    #删除指定元素
    127.0.0.1:6379> ZREM zset1 123
    (integer) 1
    127.0.0.1:6379> ZRANGE zset1 0 -1
    1) "abc"
    2) "shau"
    3) "aoi"
    
    #返回元素的索引值
    127.0.0.1:6379> zrank zset1 shau
    (integer) 1
    
    #返回元素的索引值,反向显示
    127.0.0.1:6379> ZREVRank zset1 aoi
    (integer) 0
    
    #返回集合中所有元素的个数
    127.0.0.1:6379> ZCARD zset1 
    (integer) 3
    
    #查看某分值范围内的元素个数
    127.0.0.1:6379> zcount zset1 1 20
    (integer) 2
    127.0.0.1:6379> zcount zset1 1 10
    (integer) 1
    
    #查看某分值范围内的元素及分值
    127.0.0.1:6379> ZRANGEBYSCORE zset1 1 20
    1) "abc"
    2) "shau"
    
    #删除索引范围的元素
    127.0.0.1:6379> ZREMRANGEBYRANK zset1 0 1
    (integer) 2
    127.0.0.1:6379> ZRANGE zset1 0 -1
    1) "aoi"
    
    #删除指定分值范围内的元素
    127.0.0.1:6379> ZREMRANGEBYSCORE zset1 1 6
    
  • hash

    #添加数据
    127.0.0.1:6379> hset hset1 a 1
    (integer) 1
    
    #批量添加数据
    127.0.0.1:6379> hmset hset1 b 2 c 3 d 4
    OK
    
    #查看所有数据
    127.0.0.1:6379> HGETALL hset1 
    1) "a"
    2) "1"
    3) "b"
    4) "2"
    5) "c"
    6) "3"
    7) "d"
    8) "4"
    
    #批量查看值
    127.0.0.1:6379> hmget hset1 b c 
    1) "2"
    2) "3"
    
    #删除指定的值
    127.0.0.1:6379> hdel hset1 b
    (integer) 1
    127.0.0.1:6379> HGETALL hset1
    1) "a"
    2) "1"
    3) "c"
    4) "3"
    5) "d"
    6) "4"
    
    
    #打印所有的key
    127.0.0.1:6379> HKEYS hset1
    1) "a"
    2) "c"
    3) "d"
    
    #打印所有的值
    127.0.0.1:6379> HVALS hset1
    1) "1"
    2) "3"
    3) "4"
    
    #查看hash有几个filed
    127.0.0.1:6379> HLEN hset1
    (integer) 3
    

猜你喜欢

转载自blog.csdn.net/aoli_shuai/article/details/80006708