,1,RDB方式持久化:
save 900 1
save 300 10
save 60 10000
dir配置目录,dbfilename配置持久化db文件。redis通过快照复制内存数据到快照文件中,然后替换dbfilename文件,实现一次快照持久化操作。
2,AOP方式
append only file方式配置:
appendonly yes
dir /data/redis/
appendfilename appendonly.aof
auto-aof-rewrite-percentage 100 # 当目前AOF文件大小超过上一次重写时AOF文件大小的百分之多少时会再次进行重写
auto-aof-rewrite-min-size 64mb # 允许进行重写的最小AOF文件大小
3,复制
redis支持一个master,多个slave数据库,只需要在从数据库配置文件中加入
slaveof masterIP masterPort 即可
4,读写分离
实际生产环境下,是一个master,多个slave,master只负责写操作,而多个slave负责读操作。另外,为了提高性能,可以通过复制功能建立多个slave,并在若干个slave中数据库中启用持久化,同时在master中禁用持久化。当从数据库奔溃时重启后主数据库会自动将数据同步过来,所以无需担心数据丢失。而当master数据库奔溃时,需要在slave数据库中使用SLAVE NO ONE命令将slave数据库提升为主数据库继续服务,并在原来的master数据库重启后使用SLAVEOF命令将其设置为新的主数据库的从数据库。
5,安全
redis运行在可信环境这个前提最安全。
命名命令:
rename-command FLUSHALL "" 可以禁用该命令
6,管理工具
redis-cli:
这个是命令行的自带的,不解释了
phpRedisAdmin:
类似于phpMyAdmin一样,是个非常强大的网页端的管理工具,支持以树形结构查看键列表,编辑键值,导入/导出数据库数据,查看数据库信息和查看键信息等。
# git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
phpRedisAdmin依赖PHP的Redis客户端Predis,所以要先安装Predis
git submodule init
git submodule update
配置数据库连接:
编辑includes文件夹中的config.inc.php文件
此外,安装PHP和Web服务器比如Nginx是必须要的,然后将phpRedisAdmin文件夹存放到网站目录中即可访问
但是,但是,phpRedisAdmin在获取键列表时使用KEYS * 命令,性能比较低,生产上不建议使用
Rdbtools:
Rdbtools是一个Redis的快照文件解析器,它可以根据快照文件导出JSON数据文件、分析Redis中每个键的占用空间情况等。Rdbtools是使用Python开发的。