redis的key的通用操作,特性,以及两种持久化

版权声明:转载的话 请标明出处 https://blog.csdn.net/qq_28198181/article/details/84955991

在网上学了redis的入门后,将学习的剩下内容整理如下:

1.关于key的通用操作

1.查询数据库里的keys列表集合

keys *

举个栗子:看我到现在的有多少个对象存在

2.查询数据库里的有关键词的对象

keys *keyword*   #关键词是keyword的 keyword位置不重要

keys keyword?   #关键词前面必定是keyword内容,后面是1个模糊的内容

keys keyword??  #关键词前面必定是keyword内容,后面是2个模糊的内容

举个栗子:我看我这有多少个对象是有关键词my的

3.查询某个对象是不是在当前数据库里

exists member

举个栗子:查看myset存在不,存在返回1 不存在为0

4.获取key的value(我觉得只是针对于string)

get key

举个栗子:我取得String 类型的key的value

5.修改名称

rename oldname newname

举个栗子:我把myset改成yourset

6.设置过期时间,时间一过就会被删除掉

ttl是去看还有多少时间过期

expire key second

ttl key

举个栗子:我去设置一个String类型的对象,让他在10秒后删除,ttl查看还有多久被删除

为啥是-2呢:不存在时TTL会返回-2,当没有为键设置过期时间时,使用TTL获取键的剩余时间将会返回-1

举个花生:再写一个String类型的对象:不设置时间 

怎么取消掉设置好的过期时间呢: 

persist key

当然如果是String类型的使用set也可以

举个栗子:

7.看对象是什么类型

type key

就是说看这个key对应是什么类型 string? set?list?

举个栗子:

2.关于redis的特性

两个方面:

1、选择数据库 默认为0 

select 数据库序号

举个栗子:我选择使用数据库1,再选择0

怎么将0号数据库里的东西放到1号去呢: move

move  key  db

举个栗子:我把ergouzi拖动到1号数据库去

2、事务

像关系型数据库一样支持事务

multi  #开启事务

╭(╯^╰)╮        正常操作1
(ˉ▽ ̄~) ~~     正常操作2
ー( ̄~ ̄)ξ     正常操作3

exec #确定

discard #取消

举个栗子:emm,,把ergouzi在事务里面进行数值的修改,然后分别执行和取消一次

3.RDB和AOF的持久化(还有无持久化)

RDB持久化:


优势:存储到一个文件中 方便快捷  进程少 数据集大启动效率比aof高

缺点:数据易丢失  数据集大会导致服务器停止几秒
配置:redis.conf 关于save的三处 ,名字命名, 保存路径

save的存入方式:

名字

也可以看到配置文件旁边就有:

还有一个保存路径:

AOF持久化

优势:每秒同步 每修改同步 安全
日志写入操作是append追加模式 数据过大 redis可以重写启动
格式清晰的日志文件

缺点:文件相对rdb大 运行效率相对低下

需要修改的地方:

1.打开

将其改为yes

这个是命名

还有一个同步策略需要打开:

一般使用always

然后重启服务(记得加载配置文件)

就会看到当前目录有这个aof后缀的文件了(我没去测试)

猜你喜欢

转载自blog.csdn.net/qq_28198181/article/details/84955991