redis常用操作
程序员文章站
2022-05-01 16:30:07
...
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
上一篇: PHP设计模式——适配器模式_PHP教程
下一篇: 【常规操作】MySQL相关