redis基础

一、五大数据类型

1、Redis键(key)

①、首先创建一些 key,并赋上对应值:

redis 127.0.0.1:6379> SET w3c1 redis
OK
redis 127.0.0.1:6379> SET w3c2 mysql
OK
redis 127.0.0.1:6379> SET w3c3 mongodb
OK

②、查找以 w3c 为开头的 key:

redis 127.0.0.1:6379> KEYS w3c*
1) "w3c3"
2) "w3c1"
3) "w3c2"

③、获取 redis 中所有的 key 可用使用 *

redis 127.0.0.1:6379> KEYS *
1) "w3c3"
2) "w3c1"
3) "w3c2"

2、Redis字符串(String)

单值单value 

3、Redis列表(list)

单值多value

4、Redis集合(Set)

单值多value

5、Redis哈希(Hash)

KV模式不变,但V是一个键值对

6、 有序集合(sorted Zset)

二、数据持久化

2.1、RDB快照(snapshot)

默认情况下,Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中

1、自动生成快照:例子:设置Redis在满足"60秒内有至少10000个键被改动"这一条件时,自动保存一次数据集:
save 60 10000

vi redis.conf内添加
save 900 1     
save 300 10   
save 60 10000 //60s内对redis的操作10000次,就会把内存写入到dump.rdb文件中

dbfilename:指明rdb名称

dir:声明rdb的目录

2、手动生成快照,直接执行save或者bgsave即可

RDB的两种生成snapshot的方法:save和bgsave

区别:save阻塞客户端命令,bgsave不会阻塞客户端命令

配置自动生产rdb文件后台使用的默认是bgsave方式

2.2、AOF(append-only file)

快照功能并不是非常耐久:如果Redis因为某些原因而造成故障停机,那么服务器将丢失最近写入、且仍未保存到快照中的那些数据

快照功能并不是非常耐久(durable):如果Redis因为某些原因而造成故障停机,那么服务器将丢失最近写入、且仍未保存到快照中的那些数据。从1.1版本开始, Redis增加了一种完全耐久的持久化方式:AOF持久化,将修改的每一条指令记录进文件appendonly. aof中(先写入os cache,每隔一段时间fsync到磁盘)
你可以通过修改配置文件来打开AOF功能:

1#appendonly yes

appendonly yes:开启AOF

appendfilename "appendonly.aof":策略

原理:直接通过执行aof里面的操作命令集进行恢复

缺点:速度慢,要恢复的执行语句太多

从现在开始,每当Redis执行一个改变数据集的命令时(比如SET),这个命令就会被追加到AOF文件的末尾。
这样的话,当Redis重新启动时,程序就可以通过重新执行AOF文件中的命令来达到重建数据集的目的。你可以配置Redis多久才将数据fsync到磁盘一次。
有三个选项:

1 appendfsync always:每次有新命令追加到AOF文件时就执行一次fsync,非常慢,也非常安全。
2 appendfsync everysec:每秒fsync一次,足够快,并且在故障时只会丢失1秒钟的数据。
3 appendfsync no:从不fsync,将数据交给操作系统来处理。更快,也更不安全的选择。

推荐(并且也是默认)的措施为每秒fsync一次,这种fsync策略可以兼顾速度和安全性。

2.3、AOF重写

AOF文件里可能有太多没用的指令,所以AOF会定期根据内存的最新数据生成aof文件,

例如执行了如下几条命令:

 

三、

posted @ 2022-09-29 15:53  南昌拌粉的成长  阅读(21)  评论(0编辑  收藏  举报