Redis数据都在内存中,经常要把内存的数据同步到硬盘中来保证持久化
持久化的方式:
RDB:1.Snapshotting
AOF:2.Append-only file
http://www.redis.cn/topics/persistence.html
RDB:1.Snapshotting(快照) 默认方式RDB DUMP.RDB N秒内超过m个key就修改自动做快照
修改配置文件vi /usr/local/redis/redis-2.8.19/redis.conf
默认开启
save 900 1 #900秒内有超过1个key被修改,则发起快照
save 200 10 #200秒内有超过10个被修改 发起快照
/usr/local/bin/ dump.rdb(存的是二进制数据)
AOF:2.Append-only file (AOF)方式
修改配置文件
vi /usr/local/redis/redis-2.8.19/redis.conf
appendonly yes //启用aof持久化方式
appendfsync always //收到写命令就立刻写入磁盘,最慢但是完全持久化
appendfsync everysec //每秒钟写入一次
appendfsync no //完全依赖os
修改后:
# pkill redis-server
启动redis
/usr/local/bin/redis-server /usr/local/redis/redis-2.8.19/redis.conf
登录 ./redis-cli -a 密码
set name dingsai
exit
/usr/local/bin
[root@localhost bin]# ll
总计 12504
-rw-r--r-- 1 root root 59 02-23 01:49 appendonly.aof(存的是操作)
[root@localhost bin]# cat appendonly.aof
*2
$6
SELECT
$1
0
*3
$3
set
$4
name
$7
dingsai
虚拟内存的使用
与操作系统虚拟内存不一样把内存中不经常用的数据交换到磁盘上
vm-enabled yes #开启VM
vm-swap-file /tmp/redis.swap # 交换出来的value保存路径
vm-max-memory 100000 #redis 使用的最大内存上限
vm-page-size 32 #内个页面的大小 32字节
vm-pages 134247728 #最多使用多少页面
vm-max-threads 4 #用于执行value对象的工作线程数量
修改配置文件
vi /usr/local/redis/redis-2.8.19/redis.conf
修改后:
# pkill redis-server
启动redis
/usr/local/bin/redis-server /usr/local/redis/redis-2.8.19/redis.conf
登录 ./redis-cli -a 密码