Redis简介
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
准备工作
一台预装centOS 7的服务器或虚拟机,适用于Linux系统的redis安装包(可以自行到redis官网进行下载,此教程使用的是5.0.8版本),使用工具连接到该服务器或虚拟机(我使用的是Xshell与Xftp)。
开始安装
- 将redis源码包上传到Linux数据库,我放在了/tmp目录下
- 解压redis源码包
tar -xvf redis-5.0.8.tar.gz
- 进入解压后的目录,对redis源码进行编译
cd redis-5.0.8 make
- 安装redis(PREFIX代表安装目录,此处安装在opt下)
make install PREFIX=/opt/redis-5.0.8
- redis后端启动
将redis源码包中的redis.conf配置文件复制到/opt/redis/bin/下,依次执行:
修改redis.conf,将daemonize由no改为yes。cd /tmp/redis-5.0.8 cp redis.conf /opt/redis/bin
进入到/opt/redis-5.0.8/bin下,执行:./redis-server redis.conf
- 为redis设置密码
修改redis.conf,配置requirepass的值(即密码):
上一步启动redis服务后,依然在/opt/redis-5.0.8/bin目录下,执行以下命令进入redis客户端:requirepass 密码
执行来查看当前的密码:./redis-cli -p 6379
config get requirepass
发现密码是空的,然后设置密码:config set requirepass 密码
再次查询密码:config get requirepass
此时报错了,现在只需要密码认证就可以了:auth 密码
再次查询密码,发现密码已得到修改:
- 设置redis远程访问
修改配置文件redis.conf,将bind:127.0.0.1注释掉,然后把保护模式protected-mode修改为no,重新启动redis即可。