新人入坑Redis必会的吐血总结 (4)

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) 2

zrank key member:返回成员在集合中的排名(索引从小到大)

example:

127.0.0.1:6379> zrank list xiaohong (integer) 1

zrevrank 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) 0

rename 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 zset

expire 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) 1

psubscribe channel*:批量订阅频道

example:

127.0.0.1:6379> psubscribe s* Reading messages... (press Ctrl-C to quit) 1) "psubscribe" 2) "s*" 3) (integer) 1

publish 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 PONG

echo 在命令行打印一些内容

example:

127.0.0.1:6379> echo hehe "hehe"

quit/Ctrl+C 退出客户端

example:

127.0.0.1:6379> quit

dbsize 返回当前数据库中的key的数目

example:

127.0.0.1:6379> dbsize (integer) 8

info 获取服务器的信息和统计

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的默认持久化机制,相当于照快照,保存的是一种状态

优点:

快照速度极快,还原数据速度极快

适用于灾难备份

缺点:

小内存机器不适合使用

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygzfd.html