redis
redis
redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库,缓存和消息中间件.
高速缓存介绍:
1. 高速缓存利用内存保存数据,读写速度远超硬盘.
2. 告诉缓存可以减少I/0操作,降低I/O压力
3. Redis是Vmware开发的开源免费的KV型NoSQL缓存产品
4. Redis具有很好的性能, 最多可以提供10万次/秒的读写
5. 目前新浪微博团队组建了世界上规模最大的Redis集群
yum安装redis
1.yum安装
#前提得配置好阿里云yum源,epel源 #查看是否有redis包 yum list redis
#安装redis
yum install redis -y
#安装好,启动redis
systemctl start redis
2.检测redis是否工作
redis-cli #redis 客户端工具 #进入交互式环境后,执行ping,返回pong表示安装成功 127.0.0.1:6379> ping PONG
源码安装Redis,编译安装
大家用过yum,是相当省事好用吧,为什么还要学习源码安装?
有人说编译安装性能好?错
编译安装的优势是:
- 编译安装时可以指定扩展的module(模块),php、apache、nginx都是一样有很多第三方扩展模块,如mysql,编译安装时候,如果需要就定制存储引擎(innodb,还是MyIASM)
- 编译安装可以统一安装路径,linux软件约定安装目录在/opt/下面
- 软件仓库版本一般比较低,编译源码安装可以根据需求,安装最新的版本
1.下载redis源码 wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解压缩
tar -zxf redis-4.0.10.tar.gz
3.切换redis源码目录
cd redis-4.0.10.tar.gz
4.编译源文件
make
5.编译好后,src/目录下有编译好的redis指令
6.make install 安装到指定目录,默认在/usr/local/bin
redis可执行文件
./redis-cli //redis的客户端 ./redis-server //redis的服务端 ./redis-check-aof //用于修复出问题的AOF文件 ./redis-sentinel //用于集群管理
启动redis服务端
启动redis非常简单,直接./redis-server就可以启动服务端了,还可以用下面的方法指定要加载的配置文件: ./redis-server ../redis.conf
默认情况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。
使用redis客户端
#执行客户端命令即可进入 ./redis-cli #测试是否连接上redis 127.0.0.1:6379 > ping 返回pong代表连接上了 //用set来设置key、value 127.0.0.1:6379 > set name "chaoge" OK //get获取name的值 127.0.0.1:6379 > get name "chaoge"
centos下Redis安全相关
我们在使用redis时候,最好更改默认端口,并且使用redis密码登录。
(1)redis没有用户概念,redis只有密码
(2)redis默认工作在保护模式下。不允许远程任何用户登录的(protected-mode)
redis.conf设置
protected-mode yes #打开保护模式 port 6380 #更改默认启动端口 requirepass xxxxxx #设置redis启动密码,xxxx是自定义的密码
启动redis服务端
redis-server ../redis.conf #指定配置文件启动redis
使用密码登录redis,使用6380端口
方法1,使用这个
[root@oldboy_python ~ 09:48:41]#redis-cli -p 6380 127.0.0.1:6380> auth xxxx OK
方法2,此方案不安全,容易暴露密码
[root@oldboy_python ~ 09:49:46]#redis-cli -p 6380 -a xxxx Warning: Using a password with '-a' option on the command line interface may not be safe. 127.0.0.1:6380> ping PONG
补充
检查redis是否设置了密码
127.0.0.1:6380> CONFIG get requirepass
1) "requirepass"
2) "xxxxxx"
如果没有,也可以给redis设置密码(命令方式)
CONFIG set requirepass "xxxxxx"
因此你的redis就不容易被黑客入侵了。
redis发布订阅
redis持久化RDB与AOF
redis主从同步
redis哨兵集群