Redis 命令参考 — Redis 命令参考/ :http://redisdoc.com/
1.什么是redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
Redis是一个开源的使用ANSI C语言编写可基于内存亦可基于磁盘,Key-Value数据库。类似于map
2.为什么使用redis
1.Redis读取的速度是110000次/s,写的速度是81000次/s
2.原子。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化--磁盘,主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。
3.如何使用redis.
(1)redis的插件
yum install -y gcc-c++
(2) 上传redis安装包
(3)解压该文件
tar -zxvf redis-6.2.6.tar.gz
(4) 编译redis 和 安装 ----进入解压目录
make
make install
(5)启动redis服务器
redis-server /redis配置文件所在的路径
(6)客户连接redis服务
redis-cli -h ip -p 端口号
如果不跟-h 和 -p 默认为 127.0.0.1 6379
4.redis应用场景
1、热点数据的缓存: 作为缓存数据。缓存都是基于内存走
2. 限时业务的运用: 秒杀 存放用户信息 短信保存 。expire
3. 计数器相关问题: 点赞量 播放量 访问量 incr
4. 排行榜相关问题:
5. 分布式锁: setnx()
5.redis的持久化方式
持久化: 把内存中的数据持久到磁盘的过程,就是持久化。
作用: 防止数据丢失。
redis持久化的方式: (1)RDB 快照 (2)AOF 日志追加。
5.1 rdb持久化方式
RDB 持久性以指定的时间间隔执行数据集的时间点快照 . RDB是redis默认的持久化方式. 存在dump.rdb
(1) 什么时候会触发rdb的方式
【1】手动触发 save命令 bgsave命令
save命令和bgsave的区别
save该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。具体流程如下:
bgsave 执行该命令时,Redis会在后台==异步==进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
【2】自动触发----底层原理就是调用了bgsave命令。
5.2 rbd持久化的优缺点
优点:
1.持久化速度块,恢复速度也快。
缺点:
1.数据完整性差。
6.集群的操作。
(1)主从复制
1. 可以在同一台虚拟机开启三个redis服务,区分这三个服务可以按照端口号。
6380[master] 6381[slave] 6382[slave]
2. 复制三分redis配置文件 redis6380.conf redis6381.conf redis6382.conf
3. 修改三分配置文件的端口号
4. 根据相应的配置文件开启三个redis服务
5. 客户端连接三个服务。
查看三个redis服务的关系。
info replication
配从不配主
slaveof 主节点的ip 主节点port