Redis基本操作和持久化

tech2025-04-27  5

概念

Redis是一款内存告诉缓存数据库,数据模型为key-value,数据类型支持String,list,hash,set,sorted set,可持久化,保证了数据的安全。(对比Mysql中的数据是存储在硬盘中)。

缓存可以减轻数据库的负载,包括页面缓存和数据缓存。

Redis和Memcache比较

Redis的K/V数据模型,不仅仅支持基本数据类型,还支持list,hash,set等数据结构存储。Redis支持master-slave(主从)模式。Redis支持数据持久化,可以将数据保存到硬盘,重启后可以再次加载。Redis单个value显示1GB,Memcache限制1MB。

重要文件

redis-cli:终端操作脚本redis-server:启动redis服务脚本redis-check-aof:检查备份文件脚本redis-check-dump:检查备份文件脚本redis.conf:配置文件

配置参数和基本操作

daemonize:设置后台运行key可以定义格式:type:id:field,使用多个“:”进行连接。exists key:测试指定key是否存在del key1 key2:删除指定keytype key:返回key的类型keys pattern:匹配指定模式的所有keyrename oldkey newkey:修改key名称dbsize:返回数据库中key的数量expire key seconds:为key设置过期时间ttl keys:返回剩余时间flushdb/flushall:删除数据库中所有key

持久化设置

redis支持持久化,将数据已文件形式保存到硬盘中,保证数据的安全性。

快照持久化:snap shotting

该持久化默认开启,一次性将redis中的全部数据保存到硬盘中,数据非常多时(10-20G),不适合频繁该持久化操作。持久化默认文件名:dump.rdb配置参数: save 900 1:900秒内有超过1个key被修改,则发起快照保存save 300 10:300秒内有超过10个key被修改,则发起快照保存save 60 10000:60秒内有超过10000个key被修改,则发起快照保存手动发起快照 bgsave:异步保存数据到磁盘lastsave:返回上次成功保存到硬盘的unix时间戳。shutdown:保存数据到服务器,并关闭redis服务器bgrewriteaof:优化AOF日志文件(AOF功能)实例:./redis-cli bgsave  #手动发起快照

AOF持久化

把用户执行的每个“写”指令(添加,修改,删除)都备份在文件中,通过具体的指令来还原数据。

配置参数:

appendonly yes    #开启AOFappendfilename appendonly.aof    #设置保存数据文件appendfsync参数详解:appenddsync always:每次收到写命令,就理解写入磁盘,影响性能,不推荐使用。appenddsync always:每秒写入硬盘中,在性能和持久化做了平衡,推荐使用appenddsync no:依赖系统进行持久化,性能最好,数据可能会丢失。

AOF的日志文件保存在appendonly.aof 文件中(用户自己制定)

AOF日志可以通过bgrewriteaof命令手动进行优化。

使用快照和AOF结合的方式,既可以保证性能,又不会丢失数据,图示如下:

 

最新回复(0)