没有合适的资源?快使用搜索试试~ 我知道了~
redis 使用说明 redis 使用说明
需积分: 0 0 下载量 5 浏览量
2023-08-27
09:36:41
上传
评论
收藏 4.59MB PDF 举报
温馨提示
试读
117页
redis 使用说明 redis 使用说明
资源推荐
资源详情
资源评论
1、redis概述和安装
1.1、安装redis
1.2、启动redis
方式1:前台启动(不推荐)
方式2:后端启动(推荐)
1.3、关闭redis
1.4、进入redis命令窗口
1.5、redis命令大全
1.6、redis介绍相关知识
2、redis 5大数据类型
2.1、redis键(key)
2.2、redis字符串(String)
2.2.1、简介
2.2.2、常用命令
set:添加键值对
get:获取值
apend:追价值
strlen:获取值的长度
setnx:key不存在时,设置key的值
incr:原子递增1
decr:原子递减1
incrby/decrby:递增或者递减指定的数字
mset:同时设置多个key-value
mget:获取多个key对应的值
msetnx:当多个key都不存在时,则设置成功
getrange:获取值的范围,类似java中的substring
setrange:覆盖指定位置的值
setex:设置键值&过期时间(秒)
getset:以新换旧,设置新值同时返回旧值
2.2.3、数据结构
2.3、redis列表(List)
2.3.1、简介
2.3.2、常用命令
lpush/rpush:从左边或者右边插入一个或多个值
lrange:从列表左边获取指定范围内的值
lpop/rpop:从左边或者右边弹出多个元素
rpoplpush:从一个列表右边弹出一个元素放到另外一个列表中
lindex:获取指定索引位置的元素(从左到右)
llen:获得列表长度
linsert:在某个值的前或者后面插入一个值
lrem:删除指定数量的某个元素
lset:替换指定位置的值
2.3.4、数据结构
2.4、redis集合(Set)
2.4.1、简介
2.4.2、常用命令
sadd:添加一个或多个元素
smembers:取出所有元素
sismember:判断集合中是否有某个值
scard:返回集合中元素的个数
srem:删除多个元素
spop:随机弹出多个值
srandmember:随机获取多个元素,不会从集合中删除
smove:将某个原创从一个集合移动到另一个集合
sinter:取多个集合的交集
sinterstore:将多个集合的交集放到一个新的集合中
sunion:取多个集合的并集,自动去重
sunionstore:将多个集合的并集放到一个新的集合中
sdiff:取多个集合的差集
sdiffstore:将多个集合的差集放到一个新的集合中
3.4.3、数据结构
2.5、redis哈希(Hash)
2.5.1、简介
2.5.2、常用命令
hset:设置多个field的值
hget:获取指定filed的值
hgetall:返回hash表所有的域和值
hmset:和hset类似(已弃用)
hexists:判断给定的field是否存在,1:存在,0:不存在
hkeys:列出所有的filed
hvals:列出所有的value
hlen:返回filed的数量
hincrby:filed的值加上指定的增量
hsetnx:当filed不存在的时候,设置filed的值
2.5.3、数据结构
2.6、redis有序集合zset(sorted set)
2.6.1、简介
2.6.2、常用命令
zadd:添加元素
zrange:score升序,获取指定索引范围的元素
zrevrange:score降序,获取指定索引范围的元素
zrangebyscore:按照score升序,返回指定score范围内的数据
zrevrangebyscore:按照score降序,返回指定score范围内的数据
zincrby:为指定元素的score加上指定的增量
zrem:删除集合中多个元素
zremrangebyrank:根据索引范围删除元素
zremrangebyscore:根据score的范围删除元素
zcount:统计指定score范围内元素的个数
zrank:按照score升序,返回某个元素在集合中的排名
zrevrank:按照score降序,返回某个元素在集合中的排名
zscore:返回集合中指定元素的score
2.6.3、数据结构
3、redis的发布和订阅
3.1、什么是发布和订阅
3.2、redis的发布和订阅
3.3、发布和订阅的命令行实现
3.4、发布和订阅常用命令
3.4.1、subscribe:订阅一个或者多个频道
3.4.2、publish:发布消息到指定的频道
3.4.2、psubscribe:订阅一个或多个符合给定模式的频道
4、redis新的3种数据类型
4.1、Bitmaps:位操作字符串
4.1.1、简介
4.1.2、常用命令
setbit:设置某个偏移量的值(0或1)
getbit:获取某个偏移位的值
bitcount:统计bit位都为1的数量
bittop:对一个多个bitmaps执行位操作
4.1.3、bitmaps与set比较
4.2、HyperLoglog
4.2.1、简介
4.2.2、命令
pfadd:添加多个元素
pfcount:获取多个HLL合并后元素的个数
pfmerge:将多个HLL合并后元素放入另外一个HLL
4.3、Geographic
4.3.1、简介
4.3.2、命令
geoadd:添加多个位置的经纬度
geopos:获取多个位置的坐标值
geodist:获取两个位置的直线距离
georadius:以给定的经纬度为中心,找出某一半径内的元素
5、Jedis操作Redis6
5.1、介绍
5.2、Jedis的用法
5.2.1、引入maven依赖
5.2.2、使用redis的api操作redis
6、SpringBoot整合Redis
6.1、引入redis的maven配置
6.2、application.properties中配置redis信息
6.3、使用RedisTemplate工具类操作redis
6.4、RedisTemplate示例代码
7、redis事务操作
7.1、redis事务定义
7.2、Multi、Exec、discard
7.2.1、相关的几个命令
multi:标记一个事务块的开始
exec:执行所有事务块内的命令
discard:取消事务
7.3、事务的错误处理
7.3.1、情况1:组队中命令有误,导致所有命令取消执行
7.3.2、情况2:组队中没有问题,执行中部分成功部分失败
7.4、事务冲突的问题
7.4.1、例子
7.4.2、悲观锁
7.4.3、乐观锁
7.4.4、watch key [key ...]
7.4.5、unwatch:取消监视
7.5、redis事务三特性
(1)单独的隔离操作
(2)没有隔离级别的概念
(3)不能保证原子性
8、redis持久化之RDB(Redis DataBase)
8.1、总体介绍
8.2、RDB(Redis DataBase)
8.2.1、RDB是什么?
8.2.2、备份是如何执行的
8.2.3、Fork
8.2.4、RDB持久化流程
8.2.5、指定备份文件的名称
8.2.6、指定备份文件存放的目录
8.2.7、触发RDB备份
方式1:自动备份,需配置备份规则
方式2:手动执行命令备份(save | bgsave)
方式3:flushall命令
8.2.8、redis.conf 其他一些配置
stop-writes-on-bgsave-error:当磁盘满时,是否关闭redis的写操作
rdbcompression:rdb备份是否开启压缩
rdbchecksum:是否检查rdb备份文件的完整性
8.2.9、rdb的备份和恢复
8.2.10、优势
8.2.10、劣势
8.2.11、如何停止RDB?
9、redis持久化之AOF(Append Only File)
9.1、AOF(Append Only File)
9.1.1、是什么
9.1.2、AOF持久化流程
9.1.3、AOF默认不开启
9.1.4、AOF和RDB同时开启,redis听谁的?
9.1.5、AOF启动/修复/恢复
9.1.6、AOF同步频率设置
appendfsync always:每次写入立即同步
appendfsync everysec:每秒同步
appendfsync no:不主动同步
9.1.7、rewrite压缩(AOF文件压缩)
rewrite压缩是什么?
重写原理,如何实现重写?
触发机制,何时重写?
bgrewriteaof:手动触发重写
auto-aof-rewrite-percentage:设置重写基准值
auto-aof-rewrite-min-size:设置重写基准值
举个例子
重写流程
no-appendfsync-on-rewrite:重写时,不会执行appendfsync操作
9.1.8、AOF优势
9.1.9、劣势
9.1.10、小总结
9.2、总结
9.2.1、用哪个好?
9.2.2、官网建议
10、redis主从复制
10.1、是什么?
10.2、能干嘛?
10.3、主从复制:怎么玩?
10.3.1、配置1主2从
10.3.2、配置主从
1)创建案例工作目录:master-slave
2)将redis.conf复制到master-slave目录
3)创建master的配置文件:redis-6379.conf
4)创建slave1的配置文件:redis-6380.conf
5)创建slave2的配置文件:redis-6381.conf
6)启动master
7)启动slave1
8)启动slave2
9)查看主机的信息
10)查看slave1的信息
11)同样查看slave2的信息
12)验证主从同步效果
10.3.3、主从复制原理
10.3.4、小结
主redis挂掉以后情况会如何?从机是上位还是原地待命?
从挂掉后又恢复了,会继续从主同步数据么?
info Replication:查看主从复制信息
10.2、常用的主从结构
10.2.1、一主二从
1)创建案例工作目录:master-slave
2)将redis.conf复制到master-slave目录
3)创建master的配置文件:redis-6379.conf
4)创建slave1的配置文件:redis-6380.conf
5)创建slave2的配置文件:redis-6381.conf
6)启动master
7)启动slave1
8)启动slave2
9)分别登陆3台机器,查看各自主从信息
10)配置slave1为master的从库
11)配置slave2为master的从库
12)再来看看master的主从信息
10.2.2、薪火相传
10.2.3、反客为主
10.3、哨兵(Sentinel)模式
10.3.1、什么是哨兵模式?
10.3.2、原理
10.3.3、怎么玩?
1)需求:配置1主2从3个哨兵
2)创建案例工作目录:sentinel
3)将redis.conf复制到sentinel目录
4)创建master的配置文件:redis-6379.conf
5)创建slave1的配置文件:redis-6380.conf
6)创建slave2的配置文件:redis-6381.conf
7)启动master、slave1、slave2
8)配置slave1为master的从库
11)配置slave2为master的从库
12)验证主从复制是否正常
13)创建sentinel1的配置文件:sentinel-26379.conf
14)创建sentinel2的配置文件:sentinel-26380.conf
15)创建sentinel3的配置文件:sentinel-26381.conf
16)启动3个sentinel
17)分别查看3个sentinel的信息
18)验证故障自动转移是否成功
19)恢复旧的master自动俯首称臣
10.3.4、更多Sentinel介绍
10.3.5、SpringBoot整合Sentinel模式
1)引入redis的maven配置
2)application.properties中配置redis sentinel信息
3)使用RedisTemplate工具类操作redis
2)RedisTemplate示例代码
11、redis集群(Cluster)
11.1、存在的问题
11.2、什么是集群
11.3、集群如何配置?
1)需求:配置3主3从集群
2)创建案例工作目录:cluster
3)将redis.conf复制到cluster目录
4)创建master1的配置文件:redis-6379.conf
5)创建master2的配置文件:redis-6380.conf
6)创建master3的配置文件:redis-6381.conf
4)创建slave1的配置文件:redis-6389.conf
5)创建slave2的配置文件:redis-6390.conf
6)创建slave3的配置文件:redis-6391.conf
7)启动master、slave1、slave2
8)查看6个redis的启动情况
9)确保node-xxxx.conf文件已正常生成
10)将6个节点合成一个集群
11)连接集群节点,查看集群信息:cluster nodes
剩余116页未读,继续阅读
资源评论
zhousenshan
- 粉丝: 625
- 资源: 210
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功