文章目录
1、key的通用操作
各种数据类型中,key都是一个字符串,通过key获取redis中保存的数据。
**key通用的基本操作:**
- 删除指定的key
del key- 获取key是否存在
exists key- 获取key的类型
type key
127.0.0.1:6379> set str str
OK
127.0.0.1:6379> hset hash hash hash1
(integer) 1
127.0.0.1:6379> lpush list list1
(integer) 1
127.0.0.1:6379> sadd set set1
(integer) 1
127.0.0.1:6379> zadd zset 1 zset1
(integer) 1
127.0.0.1:6379> type zset
zset
127.0.0.1:6379> exists str
(integer) 1
127.0.0.1:6379> del str
(integer) 1
127.0.0.1:6379> exists str
(integer) 0
**key通用的扩展操作--时效:**
为指定的key设置有效期
expire key seconds
pexpire key milliseconds //毫秒
expireat key timestamp //使用时间戳
pexpireat key milliseconds-timestamp获取key的有效时间
ttl key
pttl key
key不存在返回-2,存在返回-1,存在但设置了有效时长,则返回剩余时长将key从时效性转换为永久性,实现永久保存
persist key
127.0.0.1:6379> expire zset 30
(integer) 1
127.0.0.1:6379> ttl zset
(integer) 23
127.0.0.1:6379> persist zset
(integer) 1
127.0.0.1:6379> ttl zset
(integer) -1
**key通用的扩展操作--查询:**
- 查询key
keys pattern其中的pattern,
*匹配任意数量的任意符号 ? 配合一个任意符号 [] 匹配一个指定符号
常用表达式 | 含义 |
---|---|
keys * | 查询所有key |
keys it* | 查询所有以it开头的key |
keys ??test | 查询所有前面两个字符任意,且以test结尾的key |
keys u[st]er:1 | 查询所有以u开头,以er:1结尾,中间包含一个字母s或t的key |
**key的其他通用操作:**
- 为key改名
rename key newkey
renamenx key newkey //key不存在时改名- 对所有的key排序
sort key- 其他通用查看
help @generic
127.0.0.1:6379> set key01 v1
OK
127.0.0.1:6379> set key02 v2
OK
127.0.0.1:6379> rename key01 key02
OK
127.0.0.1:6379> get key02
"v1"
***注意这里是旧的key的values,相当于set 新key 旧value
--------------------------------------------------------
127.0.0.1:6379> set key001 v1
OK
127.0.0.1:6379> set key002 v2
OK
127.0.0.1:6379> renamenx key001 key002
(integer) 0 //失败
---------------------------------------------------------
127.0.0.1:6379> lpush list001 12 11 19 18 100 50 101
(integer) 7
127.0.0.1:6379> lrange list001 0 -1
1) "101"
2) "50"
3) "100"
4) "18"
5) "19"
6) "11"
7) "12"
127.0.0.1:6379> sort list001
1) "11"
2) "12"
3) "18"
4) "19"
5) "50"
6) "100"
7) "101"
127.0.0.1:6379> lrange list001 0 -1
1) "101"
2) "50"
3) "100"
4) "18"
5) "19"
6) "11"
7) "12" //注意sort并没有改变原list的顺序
2、数据库通用操作
随着数据量的暴增,key的数量也会增加,极易出现key的重复或冲突,为此,redis为每个服务提供有16个数据库,编号0到15,每个数据库之间的数据相互独立。
- 切换数据库
select index- 其他
quit
ping
echo message
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> select 16
(error) ERR DB index is out of range
127.0.0.1:6379[15]> select 0
OK
127.0.0.1:6379> //看到我们默认在0号数据库
------------------------------------------------
127.0.0.1:6379> ping
PONG
//测试服务器是否连通,断开redis-server,ping卡住
- 数据移动,相当于剪切
move key db- 数据清除
dbsize //查看当前库有多少条数据
flushdb //清空当前编号数据库的数据
flushall //清空0-15数据库
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> move test 6
(integer) 1
127.0.0.1:6379> get test
(nil)
127.0.0.1:6379> select 6
OK
127.0.0.1:6379[6]> get test
"1"
-------------------------------------------
127.0.0.1:6379[6]> flushdb
OK
127.0.0.1:6379[6]> keys *
(empty list or set)
-------------------------------------------
127.0.0.1:6379[6]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 38
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146170.html