Redis 虚拟内存的使用

虚拟内存管理在 2.6 及之上版本取消了,取消了是指这部分内容在后面的版本会由 redis 软件自身管理,在本实验中,选择的是 4.0.9 版本的 redis,所以实验中的配置文件没有虚拟内存管理功能的配置选项,此处仅为讲解。

Redis 的虚拟内存是暂时把不经常访问的数据从内存交换到磁盘中,从而腾出内存空间用于其它的访问数据,尤其对于 redis 这样的内存数据库,内存总是不够用的。除了分隔到多个 redis server 外,提高数据库容量的方法就是使用虚拟内存,把那些不常访问的数据交换到磁盘上。

通过配置 vm 相关的 redis.config 配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 开启 vm 功能
vm-enable yes

# 交换出来的 value 保存的文件路径
vm-swap-file /tmp/redis.swap

# redis 使用的最大内存上限
vm-max-memory 10000000

# 每个页面的大小 32 字节
vm-page-size 32

# 最多使用多少个页面
vm-pages 123217729

# 用于执行 value 对象换入的工作线程数量
vm-max-threads 4