redis的常用命令

基本常识:redis有16个数据库,默认使用索引为0的数据库。

select 1		#切换数据库,1代表索引为1的数据库

dbsize		#查看数据库的大小

flushdb		#清空当前数据库

flushall		#清空所有数据库

1、String的相关命令

127.0.0.1:6379> set name hewei		#设置键值对name:hewei
OK
127.0.0.1:6379> get name		#查看键为name的值
"hewei"
127.0.0.1:6379> keys *		#查看所有键
1) "name"
127.0.0.1:6379> exists name		#是否存在name键
(integer) 1


127.0.0.1:6379> move name 1		#移除名为name的键值对
(integer) 1
127.0.0.1:6379> keys *
(empty array)


127.0.0.1:6379> set name hewei
OK
127.0.0.1:6379> expire name 30		#设置name键值对的过期时间
(integer) 1
127.0.0.1:6379> ttl name		#查看name键值对还有多少时间过期
(integer) 24
127.0.0.1:6379> get name
"hewei"
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> get name
(nil)


127.0.0.1:6379> set name hewei
OK
127.0.0.1:6379> append name ,come		#追加,没有name则创建
(integer) 10
127.0.0.1:6379> get name
"hewei,come"
127.0.0.1:6379> strlen name		#查看name长度
(integer) 10


127.0.0.1:6379> set count 0
OK
127.0.0.1:6379> incr count		#自增1
(integer) 1
127.0.0.1:6379> decr count		#自减1
(integer) 0
127.0.0.1:6379> incrby count 10		#count+10
(integer) 10
127.0.0.1:6379> decrby count 5		#count-5
(integer) 5


127.0.0.1:6379> getrange name 0 -1		#截取指定长度,0 -1代表所有
"hewei,come"
127.0.0.1:6379> getrange name 0 2
"hew"
127.0.0.1:6379> setrange name 6 back	#替换,6是开始的位置,后面的字符写多长换多长
(integer) 10
127.0.0.1:6379> get name
"hewei,back"
127.0.0.1:6379> 


#setex的意思是set with expire
127.0.0.1:6379> setex hobby 30 game		#设置hobby:game,30秒后过期
OK
127.0.0.1:6379> ttl hobby
(integer) 16
127.0.0.1:6379> get hobby
"game"
127.0.0.1:6379> ttl hobby
(integer) -2
127.0.0.1:6379> get hobby
(nil)
#setnx的意思是set if not exist
127.0.0.1:6379> setnx hobby game	#如果没有hobby就设置
(integer) 1
127.0.0.1:6379> setnx hobby game
(integer) 0


127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3		#设置多个键值对
OK
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"

2、List相关命令

127.0.0.1:6379> lpush list one		#将一个或多个值插到列表头部
(integer) 1
127.0.0.1:6379> lpush list two
(integer) 2
127.0.0.1:6379> lpush list three
(integer) 3
127.0.0.1:6379> lrange list 0 -1		#查看list集合所有的值
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lrange list 0 1
1) "three"
2) "two"


127.0.0.1:6379> rpush list four		#将一个或多个值插到列表尾部
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "one"
4) "four"



127.0.0.1:6379> lpop list		#移除列表的第一个元素,后面可以加index,index代表指定元素
"three"
127.0.0.1:6379> rpop list		#移除列表的最后一个元素,后面可以加index
"four"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"


127.0.0.1:6379> lrange mylist 0 -1
1) "banana"
2) "orange"
3) "apple"
127.0.0.1:6379> lindex mylist 1		#通过下标获取list的某一个值
"orange"


127.0.0.1:6379> lrange mylist 0 -1
1) "apple"
2) "banana"
3) "orange"
4) "apple"
127.0.0.1:6379> lrem mylist 1 apple		#移除list中指定个数的value
(integer) 1
127.0.0.1:6379> lrange mylist 0 -1
1) "banana"
2) "orange"
3) "apple"
127.0.0.1:6379> lpush mylist banana
(integer) 4
127.0.0.1:6379> lrem mylist 2 banana
(integer) 2


127.0.0.1:6379> lrange mylist 0 -1
1) "orange"
2) "apple"
3) "banana"
4) "paper"
127.0.0.1:6379> ltrim mylist 0 1		#通过下标截取指定的长度,list被改变,剩下截取后元素
OK
127.0.0.1:6379> lrange mylist 0 -1
1) "orange"
2) "apple"


127.0.0.1:6379> lrange my 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> rpoplpush my you		#移动列表最后一个元素到新的列表里
"1"
127.0.0.1:6379> lrange you 0 -1
1) "1"


127.0.0.1:6379> exists my		#查看列表是否存在
(integer) 1
127.0.0.1:6379> exists m
(integer) 0
127.0.0.1:6379> lrange you 0 -1
1) "1"
127.0.0.1:6379> lset you 0 hello	#将列表制定下标的值替换成另外一个值
OK
127.0.0.1:6379> lrange you 0 -1
1) "hello"
127.0.0.1:6379> lset you 1 hi
(error) ERR index out of range


127.0.0.1:6379> rpush list a
(integer) 1
127.0.0.1:6379> rpush list b
(integer) 2
127.0.0.1:6379> rpush list c
(integer) 3
127.0.0.1:6379> linsert list before b d		#将某个具体的value插入列表中某个元素的前面或者后面
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "a"
2) "d"
3) "b"
4) "c"
127.0.0.1:6379> linsert list after b e
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "a"
2) "d"
3) "b"
4) "e"
5) "c"

3、set相关命令

127.0.0.1:6379> sadd set a		#set集合中添加元素
(integer) 1
127.0.0.1:6379> sadd set b
(integer) 1
127.0.0.1:6379> sadd set c
(integer) 1
127.0.0.1:6379> smembers set		#查看set中的所有值
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> sismember set a		#查看set中是否有此值
(integer) 1
127.0.0.1:6379> sismember set d
(integer) 0
127.0.0.1:6379> scard set		#获取set中值的个数
(integer) 3
127.0.0.1:6379> srem set a		#移除set中指定元素
(integer) 1
127.0.0.1:6379> smembers set	
1) "c"
2) "b"


127.0.0.1:6379> smembers set
1) "d"
2) "a"
3) "c"
4) "b"
127.0.0.1:6379> srandmember set		#随机抽出一个元素
"d"
127.0.0.1:6379> srandmember set
"b"
127.0.0.1:6379> srandmember set 2		#随机抽出指定个数的元素
1) "d"
2) "c"
127.0.0.1:6379> srandmember set 2
1) "d"
2) "b"


127.0.0.1:6379> smembers set
1) "d"
2) "a"
3) "c"
4) "b"
127.0.0.1:6379> spop set		#随机删除set集合中的元素
"a"
127.0.0.1:6379> spop set
"b"
127.0.0.1:6379> smembers set
1) "d"
2) "c"


127.0.0.1:6379> smembers set
1) "a"
2) "d"
3) "b"
4) "c"
127.0.0.1:6379> smove set myset a		#把set集合中的指定元素移动到myset集合中
(integer) 1
127.0.0.1:6379> smembers set
1) "d"
2) "b"
3) "c"
127.0.0.1:6379> smembers myset
1) "a"


127.0.0.1:6379> smembers set
1) "a"
2) "d"
3) "b"
4) "c"
127.0.0.1:6379> smembers myset
1) "f"
2) "d"
3) "e"
4) "c"
127.0.0.1:6379> sdiff set myset		#差集
1) "a"
2) "b"
127.0.0.1:6379> sdiff myset set		#差集
1) "f"
2) "e"
127.0.0.1:6379> sinter set myset		#交集
1) "d"
2) "c"
127.0.0.1:6379> sunion set myset		#并集
1) "d"
2) "b"
3) "a"
4) "f"
5) "e"
6) "c"

4、hash相关命令

127.0.0.1:6379> hset myhash field1 hewei		#设置一个键和值
(integer) 1
127.0.0.1:6379> hget myhash field1		#获取一个指定键的值
"hewei"
127.0.0.1:6379> hmset myhash field1 hello field2 world		#设置多个键和值
OK
127.0.0.1:6379> hmget myhash field1 field2		#获取多个指定键的值
1) "hello"
2) "world"
127.0.0.1:6379> hgetall myhash		#获取所有的键和值
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> hdel myhash field1		#删除hash指定的键值对
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"


127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "f1"
4) "a"
5) "f2"
6) "b"
7) "f3"
8) "c"
127.0.0.1:6379> hlen myhash		#获取hash的长度
(integer) 4
127.0.0.1:6379> hexists myhash f1		#判断hash中指定的键是否存在
(integer) 1
127.0.0.1:6379> hexists myhash f4
(integer) 0


127.0.0.1:6379> hset myhash f4 4	
(integer) 1
127.0.0.1:6379> hincrby myhash f4 1		#使f4自增一
(integer) 5
127.0.0.1:6379> hsetnx myhash f3 a		#没有f3键则设置键值对
(integer) 0
127.0.0.1:6379> hsetnx myhash f5 a
(integer) 1

5、zset相关命令

127.0.0.1:6379> zadd salary 3000 hgg		#设置一个zset的键值对
(integer) 1
127.0.0.1:6379> zadd salary 4000 hdd
(integer) 1
127.0.0.1:6379> zadd salary 23000 hw
(integer) 1
127.0.0.1:6379> zrangebyscore salary -inf +inf		#查询全部用户,从小到大排序
1) "hgg"
2) "hdd"
3) "hw"
127.0.0.1:6379> zrevrange salary 0 -1		#查询全部用户,从大到小排序
1) "hw"
2) "hdd"
127.0.0.1:6379> zrangebyscore salary -inf +inf withscores	#查询全部用户的成绩
1) "hgg"
2) "3000"
3) "hdd"
4) "4000"
5) "hw"
6) "23000"
127.0.0.1:6379> zrange salary 0 -1		#查询全部用户
1) "hgg"
2) "hdd"
3) "hw"
127.0.0.1:6379> zrem salary hgg		#删除指定键值对
(integer) 1
127.0.0.1:6379> zrange salary 0 -1		
1) "hdd"
2) "hw"
127.0.0.1:6379> zcard salary		#获取有序集合中键值对的个数
(integer) 2


127.0.0.1:6379> zadd zset 1 hw 2 hgg 3 hdd
(integer) 3
127.0.0.1:6379> zcount zset 1 3		#获取指定区间的成员数量
(integer) 3
127.0.0.1:6379> zcount zset 1 2
(integer) 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值