一、redis简介 {#一-redis简介}
Redis是一个key-value存储系统。和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、 sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作, 而且这些操作都是原子性的。
二、redis的安装 {#二-redis的安装}
首先从在官网下载redis源码安装包,下载地址:https://github.com/antirez/redis.git
目前最新分支为3.2
[root@tiejiang01 ~]# git clone -b 3.2 https://github.com/antirez/redis.git
下载完成之后进入redis目录,编译安装直接是
[root@tiejiang01 redis]# make
[root@tiejiang01 redis]# make install
如果安装提示下面报错,可以执行一下:make distclean
[root@localhost redis-3.2.0]# make
cd src && make all
make[1]: Entering directory /opt/redis-3.2.0/src' CC adlist.o 在包含自 adlist.c:34 的文件中: zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录 zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required" make[1]: *** [adlist.o] 错误 1 make[1]: Leaving directory
/opt/redis-3.2.0/src'
make: *** [all] 错误 2
编译安装完成直接运行
redis-server就可以启用redis服务,可以用netstat命令查看redis监听的端口(默认是6379)
[root@tiejiang01 redis]# redis-server
redis服务起来之后我就可以进行相应的测试看数据库是否安装成功:
redis服务起来之后我就可以进行相应的测试看数据库是否安装成功:
在命令行输入redis-cli启用redis客户端,输入一下命令测试redis是否安装成功
[root@tiejiang01 ~]# redis-cli
127.0.0.1:6379》 PING
PONG
127.0.0.1:6379》 set test hello
OK
127.0.0.1:6379》 get test
"hello"
127.0.0.1:6379》
更多redis命令请参考redis命令手册,这上面详细介绍了redis-cli各种命令的用法
http://doc.redisfans.com/
至此,redis数据库安装完成
三、移动配置文件位置(为了便于管理) {#三-移动配置文件位置为了便于管理}
[root@tiejiang01 ~]# cd /usr/local/
[root@tiejiang01 local]# mkdir -p /usr/local/redis/bin
[root@tiejiang01 local]# mkdir -p /usr/local/redis/etc
[root@tiejiang01 local]# mv /root/redis/redis.conf /usr/local/redis/etc/
[root@tiejiang01 local]# cd /root/redis/src/
[root@tiejiang01 src]# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
[root@tiejiang01 src]# vi /usr/local/redis/etc/redis.conf
daemonize no 更换为 daemonize yes
四、启动随机启动 {#四-启动随机启动}
[root@tiejiang01 src]# cd /usr/local/redis/bin/
[root@tiejiang01 bin]# ./redis-server /usr/local/redis/etc/redis.conf &
[root@tiejiang01 bin]# vi /etc/rc.loca #在最下面添加这一行
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
[root@tiejiang01 bin]# ps -ef | grep 6379 #查看6379端口是否启动了
root 2067 1980 0 13:50 pts/0 00:00:00 redis-server 127.0.0.1:6379
root 2106 2003 0 14:00 pts/1 00:00:00 grep 6379
[root@tiejiang01 bin]# cd /usr/local/redis/bin/
[root@tiejiang01 bin]# ./redis-cli #进入客户端
[root@tiejiang01 bin]# pkill redis-server #关闭redis
五、redis的安全性 {#五-redis的安全性}
1.用ACL控制器安全性。
2.在redis.conf配置文件增加下面这一行配置,即可把redis绑定在单个接口上(但并不是只有接受这个网卡的数据)。
bind 127.0.0.1
3.给redis加上较长密码(无需要记住)
4.在redis.conf配置启用认证功能。
5.SSL代理
6.禁用指定命令。
六、Redis配置 {#六-redis配置}
daemonize 如果需要在后台运行,把该项改为yes
pidfile 配置多个pid的地址 默认在/var/run/redis.pid
bind 绑定ip,设置后只接受来自该ip的请求
port 监听端口,默认为6379
timeout 设置客户端连接时的超时时间,单位为秒
loglevel 分为4级,debug、verbose、notice、warning
logfile 配置log文件地址
databases 设置数据库的个数,默认使用的数据库为0
save 设置redis进行数据库镜像的频率
rdbcompression 在进行镜像备份时,是否进行压缩
Dbfilename 镜像备份文件的文件名
Dir 数据库镜像备份的文件放置路径
Slaveof 设置数据库为其他数据库的从数据库
Masterauth 主数据库连接需要的密码验证
Requirepass 设置登录时需要使用的密码
Maxclients 限制同时连接的客户数量
Maxmemory 设置redis能够使用的最大内存
Appendonly 开启append only模式
以下了解即可:
Appendfsync 设置对appendonly.aof文件同步的频率
vm-enabled 是否开启虚拟内存支持
vm-swap-file 设置虚拟内存的交换文件路径
vm-max-memory 设置redis使用的最大物理内存大小
vm-page-size 设置虚拟内存的页大小
vm-pages 设置交换文件的总的page数量
vm-max-threads 设置VM IO同时使用的线程数量
Glueoutputbuf 把小的输出缓存存放在一起
hash-max-zipmap-entries 设置hash的临界值
Activerehashing 重新hash