zrangebyscore key min max [withscores][LIMIT offset count]:返回分数在[min,max]的成员并按照分数从低到高排序。[withscores]:显示分数;[LIMIT offset count]:offset,表明从脚标为offset的元素开始并返回count个成员
example:
127.0.0.1:6379> zrangebyscore list 50 120 withscores limit 0 2 1) "xiaoming" 2) "50" 3) "xiaohong" 4) "100"zincrby key increment member:设置指定成员的增加的分数,返回值是更改后的分数
example:
127.0.0.1:6379> zincrby list 30 xiaoming "80"zcount key min max:获取分数在[min,max]之间的成员
example:
127.0.0.1:6379> zcount list 80 120 (integer) 2zrank key member:返回成员在集合中的排名(索引从小到大)
example:
127.0.0.1:6379> zrank list xiaohong (integer) 1zrevrank key member:返回成员在集合中的排名。(索引从大到小)
example:
127.0.0.1:6379> zrevrank list xiaozhang (integer) 0 6、通用Redis命令【重点】keys pattern:获取所有与pattern匹配的key,返回所有与该key匹配的keys。*表示任意一个或者多个字符
通配符:
*表示任意0个或者多个字符
?表示任意一个字符
exits key:判断该key是否存在,1表示存在,0表示不存在
example:
127.0.0.1:6379> exists username (integer) 1 127.0.0.1:6379> exists admin (integer) 0rename key newkey:为当前的key重命名
127.0.0.1:6379> rename username user OK 127.0.0.1:6379> keys * 1) "list" 2) "abc" 3) "set1" 4) "information" 5) "set2" 6) "age" 7) "score2" 8) "set4" 9) "score1" 10) "set3" 11) "user"type key:获取指定的key的值类型,该命令将以字符串的格式返回。返回的字符串为string、list、set、hash和zset,
如果key不存在返回none
example:
127.0.0.1:6379> type user string 127.0.0.1:6379> type list zsetexpire key:设置过期时间,单位:秒 如果某个key过期,redis会将其删除
example:
127.0.0.1:6379> expire abc 10 (integer) 1 127.0.0.1:6379> keys * 1) "list" 2) "set1" 3) "information" 4) "set2" 5) "age" 6) "score2" 7) "set4" 8) "score1" 9) "set3" 10) "user"ttl key:获取该key所剩的超时时间,如果没有设置超时时间,返回-1.如果返回-2表示超时不存在。
example:
127.0.0.1:6379> expire user 10 (integer) 1 127.0.0.1:6379> ttl user (integer) 3 127.0.0.1:6379> ttl user (integer) -2 127.0.0.1:6379> keys * 1) "list" 2) "set1" 3) "information" 4) "set2" 5) "age" 6) "score2" 7) "set4" 8) "score1" 9) "set3" 127.0.0.1:6379> ttl information (integer) -1 7、Redis其他特性 消息订阅与发布subscribe channel:订阅频道
example:
127.0.0.1:6379> subscribe mychat Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "mychat" 3) (integer) 1psubscribe channel*:批量订阅频道
example:
127.0.0.1:6379> psubscribe s* Reading messages... (press Ctrl-C to quit) 1) "psubscribe" 2) "s*" 3) (integer) 1publish channel content:在指定的频道中发布消息
example:
127.0.0.1:6379> publish mychat 'today is a newday' (integer) 1 多数据库传统数据库如MySQL数据库可以自己用语句自定义创建,我们可以通过create database xxxx进行创建。Redis 也是有数据库的,不过Redis已经提前创建好了。在redis默认有十六个数据库,0,1,2....15,在radis上所作的所有数据操作,都是默认在0号数据库上操作,数据库与数据库之间是不能共享键值对的。我们可以把Redis数据库理解为一个map集合。
切换数据库select 数据库名:切换数据库
example:
127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> select 15 OK 127.0.0.1:6379[15]> select 16 (error) ERR DB index is out of range 数据库的移植move newkey 数据库名:将当前数据库的key移植到指定的数据库中
example:
127.0.0.1:6379> keys * 1) "list" 2) "set1" 3) "information" 4) "set2" 5) "age" 6) "score2" 7) "set4" 8) "score1" 9) "set3" 127.0.0.1:6379> move information 1 (integer) 1 127.0.0.1:6379> keys * 1) "list" 2) "set1" 3) "set2" 4) "age" 5) "score2" 6) "set4" 7) "score1" 8) "set3" 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> keys * 1) "information" 数据库清空flushdb 删除当前数据库中的所有key
flushall 删除所有数据库中的所有key
服务器命令ping 测试连接是否存活
example:
127.0.0.1:6379> ping PONGecho 在命令行打印一些内容
example:
127.0.0.1:6379> echo hehe "hehe"quit/Ctrl+C 退出客户端
example:
127.0.0.1:6379> quitdbsize 返回当前数据库中的key的数目
example:
127.0.0.1:6379> dbsize (integer) 8info 获取服务器的信息和统计
example:
127.0.0.1:6379> info # Server redis_version:4.9.103 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:d727e4f6fe88cefd redis_mode:standalone ...... ...... 8、Redis持久化策略 RDB策略RDB是redis的默认持久化机制,相当于照快照,保存的是一种状态
优点:
快照速度极快,还原数据速度极快
适用于灾难备份
缺点:
小内存机器不适合使用