redis 通用键值操作

一、redis 数据结构
丰富的数据结构

hash、链表、集合、有序集合等

1.通用键值操作

--字符串类型
set site www.zixue.it
set age 29

--如何获取当前所有的key 值
keys *

keys pattern 匹配模式;查询相应的key


redis 允许模糊查询

--常用三个通配符
1.* 通配任意多个字符字符
2.?通配任意单个字符
3.[] 通配[]括号内的某一个字符

--精确查询

keys site

---模糊查询

keys s*
keys sit*
keys sit[ey] ---不确定最后的字符是 e 还是 y --类似正则表达式

---中间字符记不清楚,并且只有一个字符
keys si?e --返回结果 site

--随机拿一个key

randomkey 返回随机key


--判断key 类型

type age


---判断一个key 是否存在

exist age ---返回结果是1 表示有;0表示没有

---删除key
del age

---修改key site 名字
rename site wangzhi

--renamenx 假如你修改的那个 key 的新名字,已经存在了呢?

--测试一下
del wangzhi

set site www.zixue.it

set search www.so.com

rename site search


----问题:现在 search 的key值是什么?
get search
www.zixue.it
--那么 之前 search 值就被覆盖了

---避免和已经存在的key 名字,发生冲突---一个新的命令,renamenx 等于 not exist

--先恢复原装

set site www.zixue.it

set search www.so.com

renamenx---如果存在,就修改失败;如果不存在,则修改成功
renamenx site sea --返回 1
get sea
www.zixue.it

renamenx sea search ---返回0

keys * ---发现确实修改失败
search
sea

get search
www.so.com

--移动 key

---单机 redis 默认 配置文件中 给开启了 databases 16 ---默认使用的是 0 号 database

keys *
search
sea


select 1 ---切换其他库
keys * ---返回空

--redis 默认16个库
分别从0-15

默认操作都是在 0号数据库操作

--某个key 不想删除,又不想在0号库,给她挪动到 1号库

move sea 1
keys *
search
---切库到1
select 1
keys *
sea


---key 生命周期,什么时候 key 失效???

--默认没有有效期:原因是 存储。不是缓存;但是可以手动设置有效期

expire

select 0

keys *
search

---查询 search 这个key 还可以 活多久?
--查询有效期
ttl search 返回 -1 ;-1 代表永久有效

--对于不存在的key 返回也是 -1 ;表示永久有效

ttl aaaa ---返回-1

ttl 查询key 返回的是一个 秒数


--默认对于不存在的key 或者已经过期的key 或者不过期的key 返回都是 -1;容易混淆

redis 2.8 中,对于 不存在的key 返回 -2


--设置 过期时间

expire key 周期值

ttl search --返回 -1

expire search 10 ---生命周期10秒

通过 get search ---10秒后发现不存在了,原因是:过期了

---重启 设置key

set site www.zixue.it ---默认永久有效

expire search 10

--查询生命周期

ttl search

---最后出现 -1

ttl查询和expire 都是按照秒为单位

----如果想毫秒做单位
使用 pttl pexpire


set search www.zixue.it

pexpier search 9000 设置9000 毫秒

pttl search --查询还有多少毫秒

---设置key 永久有效

set site www.zixue.it

expire site 10

ttl site

persist site --设置永久生效

ttl site ---返回值 -1

原文地址:https://www.cnblogs.com/ss-33/p/11171975.html