Redis
1.Redis安装:
说明:
1、也是一种类似于Memcached的kev-value机制的存储服务
2、是非关系型数据库(NoSQL)的一种。
3、官网:www.redis.io,中文网:www.redis.cn
特点:
1、能够持久化存储数据,而Memcached不能
2、value支持更多的数据类型
3、支持数据备份,主从模式
redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)
Redis安装配置
Redis下载
官网地址:http://redis.io/
下载地址:http://download.redis.io/releases/redis-3.0.0.tar.gz
在Linux中使用wget下载到linux或者下载到window在上传到linux
wget http://download.redis.io/releases/redis-3.0.0.tar.gz |
Redis安装
Redis是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
第一步:在VMware中安装CentOS(参考Linux教程中的安装虚拟机)
第二步:在Linux下安装gcc环境(该步骤可以省略,CentOS中默认自带C环境)
# yum install gcc-c++ 可以通过rpm -qa | grep gcc 来查询是否已经安装了gcc |
第三步:将下载的Redis源码包上传到Linux服务器中【如果是linux直接下载的,就省略这个步骤】
第四步:解压缩Redis源码包
# tar -zxf redis-3.0.0.tar.gz 【直接解压到当前文件夹】 |
第五步:编译redis源码
# cd redis-3.0.0 # make |
第六步:安装redis
# make install PREFIX=/usr/local/redis |
配置后台运行
第一步:将redis源码包中的redis.conf配置文件复制到/usr/local/redis/bin/下
# cd /root/redis-3.0.0 # cp redis.conf /usr/local/redis/bin/ |
第二步:修改redis.conf,将daemonize由no改为yes 以守护进程的方式启动(后台运行)
# vi redis.conf |
第三步:执行命令
# ./redis-server redis.conf |
- 后端启动的关闭方式
非正常关闭(不推荐使用):
# kill 5528 |
正常关闭:
# ./redis-cli shutdown |
开机启动:
cd utils
cp redis_init_script redis_init_script_6379
4、编辑启动脚本文件redis_init_script_6379
EXEC=/usr/local/redis/src/redis-server #服务端路径 CLIEXEC=/usr/local/redis/src/redis-cli #客户端路径 CONF=/usr/local/redis/redis_6379.conf #配置文件路径 |
5、测试启动脚本(可以通过ps查看并用redis-cli连接 ps aux | grep redis)
./redis_init_script_6379 start
6、修改开机启动文件/etc/rc.local,添加
/usr/local/redis/utils/redis_init_script_6379 start
7、下次开机就会启动redis服务
服务测试:
1、查看进程
ps aux | grep redis
2、使用客户端连接
cd /usr/local/redis/src
连接参数:
-h:指定主机
-p:指定端口号
-a:指定密码
./redis-cli
127.0.0.1:6379>ping
3、默认情况下是无密码的,使用密码有两种方式
(1)单次生效,通过命令配置
设置密码:config set requirepass 123456
获取密码:config get requirepass
授权使用:auth 123456
(2)永久生效,需要修改配置文件
1、vi redis_6379.conf
2、取消'requirepass'行的注释,后面写上密码即可
requirepass 123456
说明:启用密码后,无密码也可以连接,但是没有权限进行操作
2、客户端操作:
常用命令:
ping:查看服务器是否允许
quit:关闭当前连接
auth:验证密码
select:选择库,0-15,共16个,默认使用0
flushdb:删除当前数据库
flushall:删除所有数据库
DEL:删除键
EXISTS:检查键是否存在