0.前言
之前我们已经部署了一个单节点的redis,并且可以通过service的方式管理redis服务了,今天我们就来正式使用一下redis,对redis的常用命令进行汇总。
1.连接redis
在正式使用redis常用命令之前,我们先通过redis客户端连接一下redis服务端。
1.1 本地连接
直接在服务器上连接本地服务端,命令如下:
cd /usr/local/redis/bin/
./redis-cli
出现redis操作控制台,并打印redis连接信息,说明连接成功,如下所示:
127.0.0.1:6379>
1.2 远程连接
远程连接可以通过本地客户端模拟,或者远程客户端连接。 (1)模拟远程连接 使用本地客户端远程连接服务,只需要输入服务端的远程连接IP地址和端口即可,命令如下:
cd /usr/local/redis/bin/
./redis-cli -h 192.168.159.167 -p 6379
连接成功之后,同样会输出redis连接控制台:
192.168.159.167:6379>
(2)远程客户端连接
这里尝试在windows通过redis图形界面客户端AnotherRedisDesktopManager连接redis试下。
依次执行"New Connection" ->"输入连接信息"进行连接,如下图所示:
这里我们的host为192.168.159.167,端口为6379,暂时没有设置用户名密码,所以不用填,之后点击"ok"按钮,即可完成连接,连接完成显示界面如下:
这里使用的AnotherRedisDesktopManager是一款比较好用的redis客户端,下载地址为https://github.com/qishibo/AnotherRedisDesktopManager。
2.服务器命令
启动redis服务之后,很多时候需要查看服务信息,所以我们先来看下哪些命令可以查看redis服务运行情况。
2.1 ping
使用ping命令可以检查服务响应情况,具体用法如下:
127.0.0.1:6379> ping
PONG
2.2 echo
使用echo命令可以打印字符串,具体用法如下:
127.0.0.1:6379> echo hello
"hello"
2.3 quit/exit
使用quit/exit退出连接,具体用法如下:
127.0.0.1:6379> exit
会断开和redis server的连接。
2.4 shutdown
使用shutdown命令会停掉redis server,自然也会断开连接,具体用法如下:
127.0.0.1:6379> shutdown
not connected>
2.5 info
使用info可以查看server详细信息,具体用法如下:
127.0.0.1:6379> info
# Server
redis_version:7.4.0
redis_git_sha1:00000000
redis_git_dirty:1
redis_build_id:bb6df186d8c3a54b
redis_mode:standalone
os:Linux 5.14.0-503.14.1.el9_5.x86_64 x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:11.5.0
process_id:1177291
process_supervised:no
run_id:e6e669e22b08f2e22f7f2a062ad8cea8f11c1f12
tcp_port:6379
server_time_usec:1749270876252016
uptime_in_seconds:245
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:4440412
executable:/usr/local/redis/bin/redis-server
config_file:/usr/local/redis/conf/redis.conf
io_threads_active:0
listener0:name=tcp,bind=0.0.0.0,port=6379
...........
2.6 slowlog
slowlog用于查看慢查询日志,可以查询所有,也可以查询某一条,具体用法如下:
(1)查询所有
127.0.0.1:6379> slowlog get
(empty array)
(2)查询某条
127.0.0.1:6379> slowlog get 1
(empty array)
因为目前没有慢查询日志,所以显示为空。
2.7 select
默认情况下,redis有16个db,可以使用select命令选择使用db号,具体用法如下:
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]
之后在命令行会看到选择了db 1。
2.8 dbsize
dbsize可以用来查看当前db的key总数,具体用法如下:
127.0.0.1:6379> dbsize
(integer) 1
2.9 move
move命令可以将一个db里面的key移动到另外一个db,具体用法如下:
127.0.0.1:6379> MOVE x 1
(integer) 1
上述命令将key x从db 0移动到db 1
2.10 flushdb
使用flushdb可以清空db所有的key,具体用法如下:
127.0.0.1:6379> flushdb
OK
2.11 flushall
使用flushall可以清空所有db的所有key,具体用法如下:
127.0.0.1:6379> flushall
OK
3.key命令
在redis中,不论是什么类型的数据,都是以key-value的形式存在的,接下来看下key相关常用的命令有哪些。
在执行key相关命令之前,我们先来创建一些用于测试的key和value,命令如下:
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 2
OK
127.0.0.1:6379> set c 3
OK
127.0.0.1:6379> set x hello
OK
127.0.0.1:6379> set y [1,2,3]
OK
在db0设置了5个key,分别是a,b,c,x和y。
3.1 查看所有key
使用keys命令查看当前db所有的key,具体命令如下:
127.0.0.1:6379> keys *
1) "b"
2) "c"
3) "x"
4) "a"
5) "y"
3.2 key总数
使用dbsize查看key总数,具体命令如下:
127.0.0.1:6379> dbsize
(integer) 5
可以看到当前db的key总数为5。
3.3 key是否存在
使用exists命令查看当前db所有的key,具体命令如下:
127.0.0.1:6379> EXISTS x
(integer) 1
127.0.0.1:6379> EXISTS d
(integer) 0
可以看到x存在,d不存在。
3.4 删除key
使用del命令删除指定key,具体命令如下:
127.0.0.1:6379> del y
(integer) 1
del后面接多个key,可以一次删除多个key。
3.5 设置过期时间
使用expire命令设置超时时间,具体使用如下:
127.0.0.1:6379> set y [1,2,3] // 重新添加key y
OK
127.0.0.1:6379> EXPIRE y 5 // 设置过期时间,单位为秒
(integer) 1
127.0.0.1:6379> get y
"[1,2,3]"
127.0.0.1:6379> get y //5秒后获取
(nil)
可以看到5秒后key过期,获取key的值为nil。
3.6 查看有效时长
使用ttl命令查看key有效时长,具体使用如下:
127.0.0.1:6379> set y [1,2,3] // 重新添加key y
OK
127.0.0.1:6379> EXPIRE y 100 // 设置100s过期时间
(integer) 1
127.0.0.1:6379> ttl y // 查看有效时长
(integer) 98
最后可以看到有效时长为98秒。
3.7 移除过期时间
使用persist命令设置超时时间,具体使用如下:
127.0.0.1:6379> set y [1,2,3] // 重新添加key y
OK
127.0.0.1:6379> EXPIRE y 100 // 设置100s过期时间
(integer) 1
127.0.0.1:6379> ttl y // 查看有效时长
(integer) 98
127.0.0.1:6379> PERSIST y // 移除过期时间
(integer) 1
127.0.0.1:6379> ttl y // 再次查看过期时间
(integer) -1
最后发现key y过期时间为-1,说明永远不过期。
3.8 key数据类型
使用type查看key对应value数据类型,具体命令如下:
127.0.0.1:6379> type a
string
可以看到key a的value数据类型为string。
3.9 随机返回key
使用randomkey随机返回一个key,具体用法如下:
127.0.0.1:6379> RANDOMKEY
"b"
127.0.0.1:6379> RANDOMKEY
"a"
127.0.0.1:6379> RANDOMKEY
"a"
3.10 key重命名
使用rename重命名一个key,具体用法如下:
127.0.0.1:6379> RENAME a e
OK
127.0.0.1:6379> get e
"1"
如果希望判断e是否存在,可以用renamex命令,用法如下:
127.0.0.1:6379> RENAMEX a e
OK
127.0.0.1:6379> get e
"1"
4.五大数据类型命令
我们知道,redis支持五大数据类型,分别是:
(1)字符串类型:string
(2)列表类型:list
(3)集合类型:set
(4)哈希类型:hash
(5)有序集合类型:zset
正是通过以上不同的数据类型让redis可以满足不同业务场景的存储需求,被许多用户所青睐。
4.1 string类型
字符串类型是redis最基础的数据结构,其他几种数据类型都是在字符串类型基础上构建的,字符串的值可以是:字符串,数字和二进制。
4.1.1 设置键值命令
(1)创建key、value基本命令
使用set命令可以将key对应的value值设置为string类型,命令如下:
127.0.0.1:6379> set s hello
OK
(2)当key不存在时创建key,value
使用setnx可以在key不存在时创建string类型的value值,命令如下:
127.0.0.1:6379> setnx s hello
(integer) 0
127.0.0.1:6379> setnx x hello
(integer) 1
(3)创建key,value并设置过期时间 使用setex可以创建key,value并设置过期时间,命令如下:
127.0.0.1:6379> setex x 100 1
OK
127.0.0.1:6379> ttl x
(integer) 94
(4)批量设置键值对
使用mset可以批量设置键值对,命令如下:
127.0.0.1:6379> mset a 1 b 2 c 3
OK
127.0.0.1:6379> keys *
1) "c"
2) "b"
3) "a"
如果需要判断key是否存在,则使用msetnx,命令如下:
127.0.0.1:6379> msetnx a 1 b 2 c 3
OK
127.0.0.1:6379> keys *
1) "c"
2) "b"
3) "a"
注意:msetnx是原子命令,要么都成功,要么都失败。
(5)对value执行+/-1
使用incr/decr可以对数值型的value执行+/-1的操作,命令如下:
127.0.0.1:6379> incr c
(integer) 4
127.0.0.1:6379> get c
"4"
127.0.0.1:6379> decr c
(integer) 3
127.0.0.1:6379> get c
"3"
(6)对value执行+/-指定步长
使用incrby/decrby n可以对数值型的value执行+/-n的操作,命令如下:
127.0.0.1:6379> incrby c 5
(integer) 8
127.0.0.1:6379> get c
"8"
127.0.0.1:6379> decrby c 3
(integer) 5
127.0.0.1:6379> get c
"5"
(7)设置指定位置字符
setrange命令可以修改指定位置的字符,命令如下:
127.0.0.1:6379> set x kittt
OK
127.0.0.1:6379> setrange x 4 y
(integer) 5
127.0.0.1:6379> get x
"kitty"
(8)追加字符串
append命令在value后面追加指定的字符串,命令如下:
127.0.0.1:6379> append x hello
(integer) 10
127.0.0.1:6379> get x
"kittyhello"
4.1.2 获取键值命令
(1)获取key,value基本命令
使用get key获取对应key的value值,命令如下:
127.0.0.1:6379> get x
"kittyhello"
(2)批量获取多个key,value
使用mget获取多个key,value值,命令如下:
127.0.0.1:6379> mset x 1 y 2 z 3
OK
127.0.0.1:6379> mget x y z
1) "1"
2) "2"
3) "3"
(3)获取key对应value长度
使用strlen获取value长度,命令如下:
127.0.0.1:6379> strlen x
(integer) 1
(4)获取子字符串
使用getrange获取子字符串,命令如下:
127.0.0.1:6379> set h helloworld
OK
127.0.0.1:6379> getrange h 0 3
"hell"
4.2 List类型
redis列表类型是简单的字符串列表,按照插入顺序排序,在redis中几乎可以将元素插入到列表的任意位置。
4.2.1 添加操作
(1)左边/右边插入元素
使用lpush/rpush向列表左边或者右边插入元素,命令如下:
127.0.0.1:6379> lpush alist a b c
(integer) 3
127.0.0.1:6379> rpush alist d
(integer) 4
127.0.0.1:6379> lrange alist 0 -1
1) "c"
2) "b"
3) "a"
4) "d"
如果是向已经存在的列表中插入元素,则可以使用lpushx/rpushx命令,如下所示:
127.0.0.1:6379> lpushx blist e f
(integer) 0
127.0.0.1:6379> lpushx alist e f
(integer) 6
127.0.0.1:6379> lrange alist 0 -1
1) "f"
2) "e"
3) "c"
4) "b"
5) "a"
6) "d"
可以看到列表如果不存在,则会插入失败。
(2)指定位置插入元素
使用linsert key before/after pivot 可以向指定元素前/后插入一个或者多个元素,具体用法如下所示:
127.0.0.1:6379> linsert alist before a g
(integer) 7
127.0.0.1:6379> linsert alist after f k
(integer) 8
127.0.0.1:6379> lrange alist 0 -1
1) "f"
2) "k"
3) "e"
4) "c"
5) "b"
6) "g"
7) "a"
8) "d"
4.2.2 查找操作
(1)下标查找
使用lindex可以通过下标找到列表中的元素,命令如下所示:
127.0.0.1:6379> lindex alist 0
"f"
可以看到下标为0的元素是f (2)查询子列表 通过lrange指定下标区间,可以获取子列表,命令如下:
127.0.0.1:6379> lrange alist 0 3
1) "f"
2) "k"
3) "e"
4) "c"
127.0.0.1:6379> lrange alist 0 -1
1) "f"
2) "k"
3) "e"
4) "c"
5) "b"
6) "g"
7) "a"
8) "d"
(3)列表长度 使用llen命令可以获取列表长度,命令如下:
127.0.0.1:6379> llen alist
(integer) 8
4.2.3 删除操作
(1)最左/右移除
使用lpop/rpop删除最左/右元素,命令如下:
127.0.0.1:6379> lpop alist
"f"
127.0.0.1:6379> rpop alist
"d"
127.0.0.1:6379> lrange alist 0 -1
1) "k"
2) "e"
3) "c"
4) "b"
5) "g"
6) "a"
(2)删除指定value
使用lrem删除指定value的元素,命令格式为:lrem key count value,用法如下:
127.0.0.1:6379> lrem alist 1 a
(integer) 1
127.0.0.1:6379> lrange alist 0 -1
1) "k"
2) "e"
3) "c"
4) "b"
5) "g"
其中count表示至多删除count个value,如果count<0,表示从尾部搜索,count=0则是删除所有的value元素。
(3)删除子列表
使用ltrim并指定列表下标,可以删除子列表元素,命令如下:
127.0.0.1:6379> LTRIM alist 1 2
OK
127.0.0.1:6379> lrange alist 0 -1
1) "e"
2) "c"
(4)弹出值到另一个列表
使用RPOPLPUSH可以将一个列表最后一个元素添加到另外一个列表的头部,命令如下:
127.0.0.1:6379> lrange alist 0 -1
1) "e"
2) "c"
127.0.0.1:6379> lpush blist a
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> RPOPLPUSH alist blist
"c"
127.0.0.1:6379> LRANGE blist 0 -1
1) "c"
2) "a"
4.2.4 修改操作
通过索引修改元素值,命令如下:
127.0.0.1:6379> LRANGE blist 0 -1
1) "c"
2) "a"
127.0.0.1:6379> lset blist 0 b
OK
127.0.0.1:6379> LRANGE blist 0 -1
1) "b"
2) "a"
可以看到index为0的"c"被修改为了"b"。
4.2.5 阻塞操作
在redis中可以使用blpop/brpop移除列表的第一个或最后一个元素,如果列表没有元素就会阻塞等待超时或发现可弹出元素为止,使用方式如下:
127.0.0.1:6379> blpop blist 10
1) "blist"
2) "a"
127.0.0.1:6379> brpop blist 10
1) "blist"
2) "e"
127.0.0.1:6379> LRANGE blist 0 -1
1) "b"
2) "c"
3) "d"
如果使用brpoplpush还可以将一个列表的第一个元素添加到另一个列表当中,命令如下:
LRANGE alist 0 -1
1) "e"
127.0.0.1:6379>
127.0.0.1:6379> BRPOPLPUSH alist blist 10
"e"
127.0.0.1:6379> LRANGE blist 0 -1
1) "e"
2) "b"
3) "c"
4) "d"
4.3 Set类型
redis中的set类型是无序集合,集合中是不能出现重复元素的,也不能通过索引直接获取集合元素。
4.3.1 添加操作
使用sadd向集合中添加元素,命令如下:
127.0.0.1:6379> sadd aset a b c d
(integer) 4
4.3.2 查找操作
(1)返回所有成员
使用smembers命令返回集合所有元素,命令如下:
127.0.0.1:6379> smembers aset
1) "a"
2) "b"
3) "c"
4) "d"
(2)返回集合成员数
使用scard返回集合元素总数,命令如下:
127.0.0.1:6379> scard aset
(integer) 4
(3)判断是否是集合成员
使用sismember判断是否是集合成员,命令如下:
127.0.0.1:6379> sismember aset b
(integer) 1
127.0.0.1:6379> sismember aset e
(integer) 0
(4)随机返回指定数成员
使用srandmember返回指定个数的集合成员,命令如下:
127.0.0.1:6379> srandmember aset
"c"
127.0.0.1:6379> srandmember aset 3
1) "a"
2) "b"
3) "d"
(5)搜索集合元素
使用sscan配合正则可以搜索集合中指定成员,命令如下:
127.0.0.1:6379> sscan aset 0 match a*
1) "0"
2) 1) "a"
4.3.3 删除操作
(1)移除集合中一个或多个成员
127.0.0.1:6379> srem aset a b
(integer) 2
127.0.0.1:6379> smembers aset
1) "c"
2) "d"
(2)随机移除指定个数成员
127.0.0.1:6379> sadd aset e f
(integer) 2
127.0.0.1:6379> smembers aset
1) "c"
2) "d"
3) "e"
4) "f"
127.0.0.1:6379> spop aset 2
1) "c"
2) "d"
127.0.0.1:6379> smembers aset
1) "e"
2) "f"
4.3.4 交集
使用sinter命令可以获取两个集合的交集,命令如下:
127.0.0.1:6379> sadd aset a b c d
(integer) 4
127.0.0.1:6379> sadd bset a b
(integer) 2
127.0.0.1:6379> sinter aset bset
1) "a"
2) "b"
使用sinterstore还可以将交集存储到新的集合中,命令如下:
127.0.0.1:6379> sinterstore cset aset bset
(integer) 2
127.0.0.1:6379> smembers cset
1) "a"
2) "b"
4.3.5 并集
使用sunion命令可以获取两个集合的并集,命令如下:
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> sadd aset a b
(integer) 2
127.0.0.1:6379> sadd bset c d
(integer) 2
127.0.0.1:6379> sunion aset bset
1) "a"
2) "b"
3) "c"
4) "d"
还可以将并集存储到新的集合中,命令如下:
127.0.0.1:6379> sunionstore cset aset bset
(integer) 4
127.0.0.1:6379> smembers cset
1) "a"
2) "b"
3) "c"
4) "d"
4.3.6 差集
使用sdiff命令可以获取两个集合的差集,命令如下:
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> sadd aset a b c d
(integer) 4
127.0.0.1:6379> sadd bset a b
(integer) 2
127.0.0.1:6379> sdiff aset bset
1) "c"
2) "d"
还可以将差集存储到新的集合中,命令如下:
127.0.0.1:6379> sdiffstore cset aset bset
(integer) 2
127.0.0.1:6379> smembers cset
1) "c"
2) "d"
4.3.7 集合成员移动
使用smove可以将一个集合的成员移动到另外一个集合,命令如下:
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> sadd aset a b
(integer) 2
127.0.0.1:6379> sadd bset c d
(integer) 2
127.0.0.1:6379> smove aset bset a
(integer) 1
127.0.0.1:6379> smembers bset
1) "c"
2) "d"
3) "a"
4.4 Hash类型
4.4.1 添加操作
(1)添加单个hash值
使用hset添加单个field值,命令如下:
127.0.0.1:6379> hset ahash name dale
(integer) 1
(2)添加多个hash值
使用hmset添加多个field值,命令如下:
127.0.0.1:6379> hmset ahash name roy age 32 gender male
OK
(3)filed不存在才能设置
使用hsetnx添加单个field值,只有field不存在时才会添加成功,命令如下:
127.0.0.1:6379> hsetnx ahash name roy2
(integer) 0
127.0.0.1:6379> hsetnx ahash id 001
(integer) 1
4.4.2 查找操作
(1)获取hash表指定字段的值
使用hget获取单个field值,命令如下:
127.0.0.1:6379> hget ahash name
"roy"
(2)获取多个给定字段的值
使用hmget获取多个field值,命令如下:
127.0.0.1:6379> hmget ahash name age gender
1) "roy"
2) "32"
3) "male"
(3)判断字段是否存在
使用hexists判断field是否存在,命令如下:
127.0.0.1:6379> hexists ahash name
(integer) 1
127.0.0.1:6379> hexists ahash class
(integer) 0
(4)获取字段的数量
使用hlen获取field数量,命令如下:
127.0.0.1:6379> hlen ahash
(integer) 4
(5)获取所有字段
使用hkeys获取所有的field,命令如下:
127.0.0.1:6379> hkeys ahash
1) "name"
2) "age"
3) "gender"
4) "id"
(6)获取所有字段值
使用hvals获取所有的value,命令如下:
127.0.0.1:6379> hvals ahash
1) "roy"
2) "32"
3) "male"
4) "001"
(7)获取所有信息
使用hgetall获取所有的field和value,命令如下:
127.0.0.1:6379> hgetall ahash
1) "name"
2) "roy"
3) "age"
4) "32"
5) "gender"
6) "male"
7) "id"
8) "001"
(8)遍历哈希表
使用hscan遍历哈希表,命令如下:
127.0.0.1:6379> hscan ahash 0
1) "0"
2) 1) "name"
2) "roy"
3) "age"
4) "32"
5) "gender"
6) "male"
7) "id"
8) "001"
4.4.3 修改操作
使用hincrby可以给数值类型的value加n值,命令如下
127.0.0.1:6379> hincrby ahash age 1(可以指定任意数字)
(integer) 33
注意:只能修改field类型是数字类型的值。
4.4.4 删除操作
使用hdel删除一个或者多个field,命令如下:
127.0.0.1:6379> hdel ahash id
(integer) 1
127.0.0.1:6379> hgetall ahash
1) "name"
2) "roy"
3) "age"
4) "33"
5) "gender"
6) "male"
4.5 Zset类型
有序集合保留了元素不能重复的特性,但是给每个元素增加了一个socre,用于元素排序。
4.5.1 添加操作
使用zadd给集合添加元素,命令如下:
127.0.0.1:6379> zadd myzs 1 a 2 b 3 c
(integer) 3
4.5.2 查找操作
(1)获取有序集合的成员数
使用zcard获取集合成员数,命令如下:
127.0.0.1:6379> zcard myzs
(integer) 3
(2)返回成员分数值
使用zscore获取集合成员分数,命令如下:
127.0.0.1:6379> zscore myzs a
"1"
127.0.0.1:6379> zscore myzs b
"2"
(3)指定score区间成员数
使用zcount获取score区间成员数,命令如下:
127.0.0.1:6379> zcount myzs 1 3
(integer) 3
(4)迭代有序集合
使用zscan迭代有序集合,命令如下:
127.0.0.1:6379> zscan myzs 0
1) "0"
2) 1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
(5)获取指定成员索引
使用zrank从小到大展示成员索引,如下所示:
127.0.0.1:6379> zrank myzs a
(integer) 0
127.0.0.1:6379> zrank myzs b
(integer) 1
127.0.0.1:6379> zrank myzs c
(integer) 2
也是从大到小展示,如下所示:
127.0.0.1:6379> ZREVRANK myzs a
(integer) 2
127.0.0.1:6379> ZREVRANK myzs b
(integer) 1
127.0.0.1:6379> ZREVRANK myzs c
(integer) 0
(6)获取区间内成员
使用zrange可以获取指定区间成员,如下所示:
127.0.0.1:6379> zrange myzs 0 2
1) "a"
2) "b"
3) "c"
还可以基于分数从高到低返回区间成员,命令如下:
127.0.0.1:6379> zrevrange myzs 0 2
1) "c"
2) "b"
3) "a"
4.5.3 修改操作
使用zincrby可以给指定成员增加分数,如下所示:
127.0.0.1:6379> zincrby myzs 3 a
"4"
4.5.4 删除操作
(1)删除一个或多个元素
使用zrem可以删除一个或多个成员,如下所示:
127.0.0.1:6379> zrem myzs a c
(integer) 2
127.0.0.1:6379> zrange myzs 0 2
1) "b"
(2)移除给定区间的所有成员
使用ZREMRANGEBYLEX可以删除指定区间成员,如下所示:
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> zadd myzs 1 a 2 b 3 c 4 d 5 f
(integer) 5
127.0.0.1:6379> zrange myzs 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "f"
127.0.0.1:6379> ZREMRANGEBYLEX myzs - +
(integer) 5
(3)移除排名区间的所有成员
使用ZREMRANGEBYRANK可以删除指定区间成员,如下所示:
127.0.0.1:6379> ZREMRANGEBYRANK myzs 1 3
(integer) 3
127.0.0.1:6379> ZRANGE myzs 0 -1
1) "a"
2) "f"
(4)移除分数区间所有成员
使用ZREMRANGEBYSCORE可以删除指定区间成员,如下所示:
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> zadd myzs 1 a 2 b 3 c 4 d 5 f
(integer) 5
127.0.0.1:6379> ZREMRANGEBYSCORE myzs 1 3
(integer) 3
127.0.0.1:6379> ZRANGE myzs 0 -1
1) "d"
2) "f"
5.总结
redis一共支持五种数据类型,分别是:
(1)字符串类型
(2)列表类型
(3)集合类型
(4)哈希表类型
(5)有序集合类型
每种数据类型都有其特定的使用场景,并且每种数据类型的操作命令都略有不同,所以涉及到的命令非常的多,大家可以不用记住每一条命令,知道大致用法即可,等到要使用的时候再查找就可以了。