赞
踩
一、Redis介绍
Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。
和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。
二、Redis的安装
下面介绍在Linux环境下,Redis的安装与部署
1、首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可。
2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作 tar -zxvf redis-3.2.8.tar.gz
3、执行make 对Redis解压后文件进行编译
这里会用到gcc,如报找到到gcc,先安装gcc,命令为: yum install gcc
4、编译成功后,进入src文件夹,执行make install进行Redis安装
5、安装完成,界面如下
三、Redis的部署
安装成功后,下面对Redis 进行部署
1、首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中
a)创建bin和redis.conf文件
- mkdir -p /usr/local/redis-3.2.8/bin
-
- mkdir -p /usr/local/redis-3.2.8/ect
- mv /usr/redis-3.2.8/redis.conf /usr/local/redis-3.2.8/etc
-
- cd /usr/redis-3.2.8/src
-
- mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis-3.2.8/bin
2、执行Redis-server 命令,启动Redis 服务
注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。
3、后台启动redis服务
a)首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
cd etc/
Vi redis.conf
b)再次启动redis服务,并指定启动服务配置文件
redis-server /usr/local/redis-3.2.8/etc/redis.conf
4、服务端启动成功后,执行redis-cli启动Redis 客户端,查看端口号
四、总结Linux 、Redis 操作常用命令
Linux:
cd /usr 从子文件夹进入上级文件夹usr
cd local 从父到子
mv /A /B 将文件A移动到B
vi usr/local/redis/redis.conf 编辑redis.conf 文件
:wq 保存修改,并退出
Redis:
Redis-server /usr..../redis.conf 启动redis服务,并指定配置文件
Redis-cli 启动redis 客户端
Pkill redis-server 关闭redis服务
Redis-cli shutdown 关闭redis客户端
Netstat -tunpl|grep 6379 查看redis 默认端口号6379占用情况
附上一段linux简单脚本启动redis;
vim startRedis
写下如下代码,''wq'保存退出
#!/bin/sh
./redis-server ../etc/redis.conf
添加执行权限:
chmod +x startRedis
#requirepass foobared
去掉行前的注释,并修改密码为所需的密码,保存文件
requirepass 123456
重启redis
这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许
- redis-cli -h 127.0.0.1 -p 6379
- redis 127.0.0.1:6379>
- redis 127.0.0.1:6379> keys *
- (error) ERR operation not permitted
- redis 127.0.0.1:6379> select 1
- (error) ERR operation not permitted
- redis 127.0.0.1:6379[1]>
用密码登录并执行具体的命令看到可以成功执行
- redis-cli -h 127.0.0.1 -p 6379 -a 123456
- redis 127.0.0.1:6379> keys *
- 1) "myset"
- 2) "mysortset"
- redis 127.0.0.1:6379> select 1
- OK
- redis 127.0.0.1:6379[1]> config get requirepass
- 1) "requirepass"
- 2) "123456"
- redis 127.0.0.1:6379[1]> config set requirepass 111111
- OK
- redis 127.0.0.1:6379[1]> config get requirepass
- 1) "requirepass"
- 2) "111111"
无需重启redis
使用第一步中配置文件中配置的老密码登录redis,会发现原来的密码已不可用,操作被拒绝
- redis-cli -h 127.0.0.1 -p 6379 -a 123456
- redis 127.0.0.1:6379> config get requirepass
- (error) ERR operation not permitted
- redis-cli -h 127.0.0.1 -p 6379 -a 111111
- redis 127.0.0.1:6379> config get requirepass
- 1) "requirepass"
- 2) "111111
尝试重启一下redis,用新配置的密码登录redis执行操作,发现新的密码失效,redis重新使用了配置文件中的密码
- sudo service redis restart
- Stopping redis-server: [ OK ]
- Starting redis-server: [ OK ]
- redis-cli -h 127.0.0.1 -p 6379 -a 111111
- redis 127.0.0.1:6379> config get requirepass
- (error) ERR operation not permitted
- redis-cli -h 127.0.0.1 -p 6379 -a 123456
- redis 127.0.0.1:6379> config get requirepass
- 1) "requirepass"
- 2) "123456"
- redis-cli -h 127.0.0.1 -p 6379
- redis 127.0.0.1:6379> config get requirepass
- (error) ERR operation not permitted
- redis 127.0.0.1:6379> auth 123456
- OK
- redis 127.0.0.1:6379> config get requirepass
- 1) "requirepass"
- 2) "123456"
3.master配置了密码,slave如何配置
#masterauth mstpassword
redis下载地址:http://download.csdn.net/download/liuwei8nn1/9762924
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。