redis是一款开源的NoSQL,是一个是一个key-value形式的存储系统,可基于内存也可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型)。
redis的安装:
首先我们要去官方下载源码包,下载地址:
http://download.redis.io/releases/redis-2.8.9.tar.gz
现在的稳定版是2.8的,最新版是3.0
开始安装:
tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9/ make cd src/ make install
到这里的时候,出现如下的提示
root@addam-python:~/redis-2.8.9/src# make install Hint: To run 'make test' is a good idea ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install
好吧,既然他提示让我们make test,那就按着他的来吧
root@addam-python:~/redis-2.8.9/src#make test make[1]: Entering directory `/root/redis-2.8.9/src' You need tcl 8.5 or newer in order to run the Redis test make[1]: *** [test] Error 1 make[1]: Leaving directory `/root/redis-2.8.9/src' make: *** [test] Error 2
好吧,又报错了,看提示吧,tcl版本不够或者没有安装,好吧,安装一下呗,我的是ubuntu系统,直接apt-get install tcl -y即可,如果是RedHat系列的可以使用yum安装。安装完成之后make test
一切顺利。看到结果出现successful等字样,说明我们已经安装完毕了。如果你这里再输入make install,同样还是上面的提示,让你make test,呵呵,其实这里我们的redis已经安装好了。ls看一下,在src下面生成了好多文件。
接下来为了方便管理,我们建立统一的目录,将redis的配置文件等放在一起管理
mkdir -p /usr/local/redis/bin mkdir -p /usr/local/redis/etc mv /root/redis-2.8.9/redis.conf /usr/local/redis/etc/ cd redis-2.8.9/src mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin/
到这里我们可以启动redis服务了,可以使用/usr/local/redis/bin/redis-server启动,但是你会发下一个问题,程序总是在前台运行,而且会出现警告信息,找不到配置文件。
这里我们需要修改一下redis.conf这个文件的内容了,这是我们redis服务的主配置文件,具体一些配置参数讲解如下:
daemonize 如果需要在后台运行,设置为yes
pidfile 配置多个pid的地址,默认在/var/run/redis.conf
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的数量
Glueoutputbuf 把小的输出缓存存放在一起
hash-max-zipmap-entries 设置hash的临界值
Aeticverehashing 重新hash
按着参数根据自己的需求配置redis.conf文件,然后保存,使用如下命令启动redis
root@addam-python:~# /usr/local/bin/redis-server /usr/local/redis/etc/redis.conf
root@addam-python:~# ps -ef|grep redis root 7032 1 0 20:46 ? 00:00:00 /usr/local/bin/redis-server *:6379 root 7037 2987 0 20:46 pts/0 00:00:00 grep --color=auto redis
我们可以看到,现在redis已经真正的起来了,查看一下端口吧
root@addam-python:~# netstat -lant|grep 6379 tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN tcp6 0 0 :::6379 :::* LISTEN root@addam-python:~# lsof -i :6379 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 7032 root 4u IPv6 20992 0t0 TCP *:6379 (LISTEN) redis-ser 7032 root 5u IPv4 20993 0t0 TCP *:6379 (LISTEN)
好吧,没问题了哦。现在服务已经起来了,我们如何通过客户端登录redis呢?
命令如下:
root@addam-python:~# /usr/local/redis/bin/redis-cli 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> quit #退出
登录进入我们可以进行各种操作了。
关闭redis服务
root@addam-python:~# pkill redis-server root@addam-python:~# ps -ef|grep redis root 7055 2987 0 20:51 pts/0 00:00:00 grep --color=auto redis root@addam-python:~# netstat -lant|grep 6379