1.redis的相关资源
中文网站:http://redis.cn
官方网站:http://redis.io
2.redis配置
redis配置文件被分成几个大块区域,分别是:
1.通用(general)
2.快照(snapshotting)
3.复制(replication)
4.安全(security)
5.限制(limits)
6.追加模式(append only mode)
7.LUA脚本(lua scripting)
8.慢日志(slow log)
9.事件通知(event notification)
redis配置参数说明
daemonize no
默认情况下,redis不是在后台运行的,如果需要redis在后台运行,将该项值改为yes
pidfile /var/run/redis.pid
当redis在后台运行的时候,redis默认会把pid文件放在/var/run/redis.pid,可以配置到其他位置,当运行多个redis服务时,需要指定不同的pid文件和端口
port 6379
指定redis运行的端口,默认值为6379
bind 127.0.0.1
指定redis只接受来自该IP地址的请求,如果不进行设置,那么将处理所有的请求,生产环境下推荐设置
loglevel debug
指定日志记录级别,其中redis总共支持四个级别:debug,verbose,notice,warning,默认级别为verbose
1.debug表示记录很多信息,用于开发和调式
2.verbose表示记录有用的信息,但不像debug会记录那么多
3.notice表示普通的verbose,常用于生产环境
4.warning表示只有非常重要或者严重的信息会记录到日志
logfile /var/log/redis/redis.log
配置log文件地址默认值为stdout,若后台模式会输出到/dev/null
database 16
可用数据库数,默认数值为16,数据库范围在0~15之间切换,彼此隔离
save
保存数据到磁盘,格式为save,支出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb,相当于条件触发抓取快照,支持多条件配合
save 900 1 表示900秒内至少有1个key被改变就保存数据到磁盘
rdbcompression yes
存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes
dbfilename dump.rdb
本地持久化数据库文件名,默认值为dump.rdb
dir
工作目录,数据库镜像备份的文件防止的路径,数据库镜像备份的文件放置的路径。路径和文件名需要分开配置,因为redis在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等到备份完成时,再把该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放到这个指定的路径当中,AOF文件也会存放在这个目录下面,这里必须制定一个目录而不是一个文件
slaveof
主从复制,设置该数据库为其他数据库的从数据库,设置当本机为slave服务时,设置master服务的IP地址以及端口,在redis启动时,它会自动从master进行数据同步。
masterauth
当master服务设置了密码保护时(用requirepass制定的密码)slave服务连接master的密码
3.redis开启
服务端开启
redis-server
开启成功
客户端开启
redis-cli
//发送检测指令
ping
4.redis数据类型分类
redis类型 | 含义 |
---|---|
String | 字符串 |
Hash | 字典 |
List | 列表 |
Set | 集合 |
Sorted Set | 有序集合 |
Pub/Sub | 订阅 |
Transaction | 事务 |
4.1 String字符串
String类型的定义如下:
struct sdshdr{
long len;
long free;
char buf[];
};
//len是buf数组的长度
//free是数组中剩余可用字节数
//buf是各char数组用于存储实际字符串内容
5.redis持久化
1.备份数据
客户端敲save命令,可以创建当前redis数据库的备份,如果成功,自动在服务器启动所在的目录生成dump.rdb文件,可以使用CONFOG命令查看redis服务器启动目录。
dump.rdb文件为redis加密的文件内容。
2.恢复数据
在dump.rdb文件所在目录下,启动redis服务器,服务器自动加载当前目录下的dump.rdb文件
3.RDB方式
RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时,redis会自动将内存中的所有数据进行快照并存储在硬盘上,进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。当在制定的时间内被更改的键的个数大于指定的数值时就会进行快照。
4.AOF方式
默认情况下redis没有开启AOF(append only file)方式的持久化,可以在redis.conf文件中通过appendonly参数开启
开启AOF持久化后每一条更改redis中数据的命令,redis就会将该命令写入硬盘中的AOF文件,在启动时redis会逐个执行AOF文件中的命令来将硬盘中的数据载入到内存中,载入的速度相较RDB文件会慢一些。