最近学习了redis缓存技术,现在进行总结一下吧。
redis安装:
(1)官网https://redis.io/download下载linux版本 redis-3.2.8.tar.gz
(2)使用xftp将安装包上传到虚拟机上/opt目录下,然后使用tar -zxvf redis-3.2.8.tar.gz
(3)进入redis-3.2.8目录下,使用make命令进行编译(由于我虚拟机上的linux是redhat6.6,默认是没有安装gcc编译器的,所以首先要进行gcc安装,可以参考地址:http://www.linuxidc.com/Linux/2012-06/63694.htm)
(4)make命令编译成功后,复制redis-3.2.8目录下的配置文件redis.conf到/usr/local/redis(先mkdir redis目录),然后进入src目录下,同样将redis-cli,redis-server复制到/usr/local/redis目录下。
(5)启动redis,进入/usr/local/redis目录下,执行命令./redis-server,出现如下图形,则启动成功。
修改redis启动方式,以守护线程的形式启动服务,修改配置文件redis.conf下的daemonize no改为 daemonize yes
然后使用命令./redis-server redis.conf 回车
(6)查看redis是否启动成功,可以使用命令ps -ef |grep redis,出现如下则成功,默认端口是6379
(7)启动redis客户端,使用命令./redis-cli,输入命令ping,显示pong则表示成功
(8)redis配置文件redis.conf常用配置说明:
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no
2.指定Redis监听端口,默认端口为6379
port 6379
3.绑定的主机地址
bind 127.0.0.1
4.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
5.指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel verbose
6.设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16
7.指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
save <seconds> <changes>
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
8.指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
9.指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
10.指定本地数据库存放目录
dir ./
11.设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
slaveof <masterip> <masterport>
12.指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失,因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly no
13. 指定更新日志文件名,默认为appendonly.aof
appendfilename appendonly.aof
14. 指定更新日志条件,共有3个可选值:
no:表示等操作系统进行数据缓存同步到磁盘(快)
always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
配置文件参考文献:http://www.runoob.com/redis/redis-conf.html