一、字符串操作常用命令
1、设置值、获取值
(1)SET key value:设置指定 key 的值
(2)GET key:获取指定 key 的值。
例:
192.168.17.130:6379> set hello world
OK
192.168.17.130:6379> get hello
"world"
2、同时设置或者获取多个值
(1)MSET key value [key value ...]:同时设置一个或多个 key-value 对。
(2)MGET key1 [key2..]:获取多个给定 key 的值。
例:
192.168.17.130:6379> mset name zhangsan age 18 gender nan
OK
192.168.17.130:6379> mget name age gender
1) "zhangsan"
2) "18"
3) "nan"
3、设置值,只有key不存在时才设置成功(可防止覆盖)
(1)SETNX key value:只有在 key 不存在时设置 key 的值。
例:
192.168.17.130:6379> get name
"zhangsan" //键为name时,值为zhangsan
192.168.17.130:6379> set name lisi
OK //如果再次设置name时会覆盖原本的zhangsan
192.168.17.130:6379> setnx name wangwu
(integer) 0 //如果用setnx设置键为name时,将不会覆盖
4、自增1、自减1
(1)incr goods_number :如果使用此句后,goods_number原本不存在,则自动生成并默认为1
(2)decr goods_number
例:
192.168.17.130:6379> incr aaa
(integer) 1
192.168.17.130:6379> get aaa
"1"
192.168.17.130:6379> incr aaa
(integer) 2
192.168.17.130:6379> get aaa
"2"
5、设置数据的存活时间
(1)SETEX key seconds value:将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
例:
setex A 5 BB:设置A的存活时间为5,且赋值为BB
6、删除
del key [key1 key2...]:删除
192.168.17.130:6379> get name
"lisi"
192.168.17.130:6379> del name user
(integer) 2
192.168.17.130:6379> get name
(nil)
二、哈希操作常用命令
1、设置值 获取值
(1)HSET key field value:将哈希表 key 中的字段 field 的值设为 value 。
(2)HGET key field:获取存储在哈希表中指定字段的值。
例:
192.168.17.130:6379> hset user username zhangsan
(integer) 1
192.168.17.130:6379> hget user username
"zhangsan"
2、批量设置多个filed
(1)HMGET key field1 [field2]:获取所有给定字段的值
(2)HMSET key field1 value1 [field2 value2 ]:同时将多个 field-value (域-值)对设置到哈希表 key 中
例:
192.168.17.130:6379> hmset user1 username lisi age 20
OK
192.168.17.130:6379> hmget user1 username age
1) "lisi"
2) "20"
3、获取key下的所有信息
(1)HGETALL key:获取在哈希表中指定 key 的所有字段和值
例:
192.168.17.130:6379> hgetall user1
1) "username"
2) "lisi"
3) "age"
4) "20"
4、获取所有key
(1)HKEYS key:获取所有哈希表中的字段
例:
192.168.17.130:6379> hkeys user1
1) "username"
2) "age"
192.168.17.130:6379>
5、获取所有值
(1)HVALS key:获取哈希表中所有值。
例:
192.168.17.130:6379> hvals user1
1) "lisi"
2) "20"
192.168.17.130:6379>
6、删除
(1)HDEL key field1 [field2]:删除一个或多个哈希表字段
例:
192.168.17.130:6379> hdel user1 username
(integer) 1
192.168.17.130:6379> hgetall user1
1) "age"
2) "20"
192.168.17.130:6379>
三、列表(list)操作常用命令
1、插入、获取list
(1)LPUSH key value1 [value2]:将一个或多个值插入到列表头部
(2)LRANGE key start stop:获取列表指定范围内的元素
其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
例:
192.168.17.130:6379> lpush mylist 1 2 hhhh
(integer) 3
192.168.17.130:6379> lrange mylist 0 9
1) "hhhh"
2) "2"
3) "1"
192.168.17.130:6379>
2、删除
(1)RPOP key:移除“最后一个”元素,返回值为移除的元素
(2)LPOP key:移出并获取列表的“第一个”元素,返回值为移除的元素。
例:
192.168.17.130:6379> lrange mylist 0 9
1) "hhhh"
2) "2"
3) "1"
192.168.17.130:6379> lpop mylist
"hhhh"
192.168.17.130:6379> rpop mylist
"1"
192.168.17.130:6379> lrange mylist 0 9
1) "2"
192.168.17.130:6379>
四、set集合操作常用命令
1、添加、查看
(1)SADD key member1 [member2]:向集合添加一个或多个成员
(2)SMEMBERS key:返回集合中的所有成员
(3)SCARD key:获取集合的成员数量
例:
192.168.17.130:6379> sadd myset 1 lisi hhh
(integer) 3
192.168.17.130:6379> smembers myset
1) "1"
2) "hhh"
3) "lisi"
192.168.17.130:6379> scard myset
(integer) 3
192.168.17.130:6379>
五、zset有序集合操作常用命令
1、添加
(1)ZADD key score1 member1 [score2 member2]:向有序集合添加一个或多个成员,或者更新已存在成员的分数
2、查看
(1)ZCARD key:获取有序集合的成员数量
例:
192.168.17.130:6379> zadd myzset 10 diyige 200 dierge 300 number3
(integer) 3
192.168.17.130:6379> zcard myzset //查看的是数量
(integer) 3
192.168.17.130:6379>
(2)ZCOUNT key min max:计算在有序集合中指定区间分数的成员数
例:
192.168.17.130:6379> zcount myzset 0 11
(integer) 1
192.168.17.130:6379>
(3)添加权重: ZINCRBY key increment member:有序集合中对指定成员的分数加上增量 increment
例:
192.168.17.130:6379> zincrby myzset 1 diyige //给diyige增加1的权重
"11" //原本权重为10,现在权重为11
192.168.17.130:6379>
(4)获取数据
①ZRANGE key start stop [WITHSCORES]:返回指定“下标”范围的数据,并按权重“从小到大排序”
②ZREVRANGE key start stop [WITHSCORES]:返回有序集中指定区间内的成员,按权重“从小到大排序”
例:
192.168.17.130:6379> zrange myzset 0 2
1) "diyige"
2) "dierge"
3) "number3"
192.168.17.130:6379>
(5)取交集
ZINTERSTORE destination numkeys key [key ...]:计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 destination(是自定义的) 中
192.168.17.130:6379> zadd myzset2 11 diyige 20 hhh
(integer) 2
192.168.17.130:6379> zinterstore A 2 myzset myzset2 //把myzset和myzset2中的交集存放到A中
(integer) 1
192.168.17.130:6379> zcount A 0 300
(integer) 1
192.168.17.130:6379>