Redis 常见参数配置
Redis的设置,基本是在其根目录下的 redis.conf 文件里保存的。我们可以通过修改这个文件来配置一些参数。
1 | vi /etc/redis/redis.conf |
修改为后台启动
Redis 默认是在前台启动的,会阻塞当前终端,使用 Ctrl + C 即可关闭。
在 redis.conf 将文件中 daemonize 为 yes 即可后台启动
1 | daemonize yes |
添加访问密码
在redis.conf将文件中 为 requirepass 设定值。
范例(qiji.arno为密码)
1 | requirepass qiji.arno |
开启远程访问
默认情况下,Redis 服务器关闭了远程访问。开启访问的话,将bing注释掉就好。
1 | #bind 127.0.0.1 |
设置日志和数据目录
使用终端创建如下所示的目录:
1 | mkdir -p /opt/redis/logs |
设置日志和数据目录:
1 | loglevel debug #日志级别:默认为 notice |
设置最大内存:
1 | maxmemory 128mb |
- 尤其是在VPS上,不要设置太高,留有充足的内存供系统及其他应用程序使用。
备份策略
使用快照:snapshot
1 | save 60 1000 |
- 如上的设置,会在60s内、如果有1000个key发生改变就进行持久化。
- 可设置多个save选项,默认持久化到dump.rdb。
文件追加(aof):append-only-file模式。
- Redis会将每个接收到的“写命令”通过write函数追加到appendonly.aof文件,重启Redis时通过该文件重建整个数据库。
- 由于os内核会缓存write函数所做的“修改”,可以使用fsync函数指定写入到磁盘的方式。
1 | appendonly yes #启动aof持久化方式 |
两种方式的比较:
- 快照方式:性能较好,但是快照间隔期间,如果宕机将造成数据丢失。
- AOF 模式:影响性能,不容易造成数据丢失。
- 如果 Redis 宕机:重启 Redis 即可,会自动使用 redis.rdb 和 appendonly.aof 恢复数据库。
主从备份:从数据安全性角度考虑。
- 关闭快照功能。
- 同时设置主从服务器都为AOF模式。
- 说明:如果仅对Slave进行持久化设置,重启时,Slave自动和Master进行同步,全部数据丢失.
Java 中使用 Redis
Redis 官方推荐使用 Jedis 的 API 对 Redis 进行操作,所以就开始配置 Jedis 吧。
Maven pom 添加依赖
1 | <dependency> |
构建 redis 缓存插件
1 | package com.eliteams.XXXX.core.feature.cache.redis; |
构建 JedisTest 的测试类
1 | package com.eliteams.XXXX.test.library.jedis; |
测试结果
后记
好好学基础,遇到坑了,才知道怎么解决。不说多了,先去填坑。
参考资料
- Redis - 维基百科 https://zh.wikipedia.org/wiki/Redis
- Redis教程 http://www.yiibai.com/redis/
- Ubuntu 12.10下安装Redis http://www.linuxidc.com/Linux/2013-06/85816.htm
- Ubuntu 14.04下Redis安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm
- Redis入门 http://hello-nick-xu.iteye.com/category/314998