redis比mysql访问数据快
非关系型数据库以键值对的方式存储数据
作用:加快访问速度,缓解数据库压力
redis最新版本7
特点
丰富的数据结构 list,set,hash等数据结构的存储
支持持久化
支持事务 “一个完整的动作,要么全部执行,要么什么也没有做”
支持主从支持高可用,支持分布式分片集群
三:Redis部署
yum list | grep redis (ctenos)
yum安装
安装仓库
yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y
安装redis
vi /etc/yum.repos.d/remi.repo
yum --enablerepo=remi install redis -y (直接安装也行)
面试问就说安装6.2的版本
启动和开机启动
systemctl start redis
systemctl enable redis
登录连接
redis-cli
退出
exit
redis主配置文件:/etc/redis.conf
默认redis只能自己连接自己
设置redis.conf,允许远程登录
vim /etc/redis.conf
关闭保护模式
systemctl restart redis
测试:使用另一台连接 redis-cli -h
2.编译安装
下载源码包
yum -y install wget
下载报
wget ...
解压
tar xf
安装编译所需软件
yum install -y gcc-c++ autoconf automake make
编译&&安装
cd redis-stable
make && make install
启动
cd src/
./redis-server &
登录连接
./redis-cli
3.数据持久化
开启持久化功能后,重启redis后,数据会自动通过持久化文件恢复
redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File仅追加文件)
方式一:RDB
RDB(Redis DataBase):是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上
特点:
1.周期性
2.不影响数据写入 ;RDB会启动子进程,备份所有数据。当前进程,继续提供数据的读写。当备份完成,才替换老的备份文件
3.高效;一次性还原所有数据
4.完整性较差 #故障点到上一次备份,之间的数据无法恢复
方式二:AOF
AOF(Append Only File)则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了
特点:
1.实时性
2.完整性较好
3.体积大;记录数据的指令,删除数据的指令都会被记录下来
注意:
RDB和AOF两种方式可以同时使用,如果redis重启的,优先采用AOF方式进行数据恢复,这是因为AOF方式的数据恢复完整度更高
如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样
如何选择:
缓存:不用开启任何持久方式
双开:因RDB数据不实时,但同时使用两者时服务器只会找AOF文件,所以RDB留作万一的手段
对于我们应该选择RDB还是AOF,官方的建议是两个同时使用。这样可以提供更可靠的持久化方案
写入速度快 ------------AOF
写入速度慢 ------------RDB
4.持久化配置
1.RDB默认开启
字符串的命令
set 添加
get 查看
del 删除字符串
哈希类型的命令
hdel 删除key 域 内容
hset 添加
hget 查看获取
列表类型的命令
lset 添加元素
set类型的命令
SADD 添加key 元素
有序集合
redis的数据类型(有这么多类型是为了存储不同类型的数据)