第十五章《键的管理》

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 第十五章《键的管理》

键的管理:
type del object encoding exists expire dbsize

1.rename key newkey //重命名

2.randomkey: //随机获取一个键

3.expireat key 时间戳 key在什么时间过期

4.遍历键的方式:
(1)keys * 返回所有的键 直到键的数量比较少的时候
(2)scan 按照指定数量来遍历键,默认10 keys =nscan
语法:scan cursor [match pattern] [count number]

cursor :游标 每次执行scan都会返回一个游标,下次遍历用这个游标可以从上次遍历结束的位置开始 直到返回的游标为0表示遍历完了所有键
scan容易出现的问题,可能会有遗漏,不能完全遍历到所有key

库管理:
16 0-15 默认位置:0
select mumber 移动到别的库
flushdb/flushall 清空库里面的键

迁移键:
1.move key dbindex: 移动
2.【dump+restore】:在源库里执行dump key:将key对应的值序列化,然后到目标库里执行restore key ttl ‘系列化’
ttl设置过期时间 ttl必须设置 ,不设置的话ttl写0
注意:严格来讲,这个操作方式应该叫复制,因为不具有原子性
3.migrate :可以跨主机迁移键 具有原子性
命令:migrate disthost distport key| ‘ ’ dist-db timeout [coppy] [replace] [keys key1 key2...]

disthost:目标主机
distport:目标端口
key| ‘ ’:如果迁移的只有一个键,将这个键名写这,如果多个键这什么都不写;
dist-db:目标主机的库索引
timeout:超时时间
coppy:表示不删除源库里的键
replace:覆盖目标库里同名的键

dump key--》restore 序列化 --》del源库里的这个键

慢查询:
slowlog-log-slower-than 10000 //设置慢查询阈值单位是微秒
slowlog-max-len 128 //记录慢查询日志的条数,超过后从最早记录的条数开始删除;
命令;
slowlog get 查询慢查询日志
slowlog len 显示目前慢查询日志的条数
slowlog reset 重置慢查询日志

redis shell:
【redis-cli】:
【-r】:-r + count:表示将命令执行count次;
【-i】:每隔几秒执行一次,和-r一起使用
【-x】:从标准输入(stdin)读取数据作为redis-cli的参数
【-a】:当redis设置了密码,-a后面跟密码 requirepass “123.com”
【--scan】:遍历键
【--slave】:作为从节点登录
【--rdb】:备份
【--latency】:查询延迟 客户端到服务器的网络延时
【--latency-history】:分时段查询延时
【--latency-dist】:使用统计图形式从控制台输出延迟统计信息
【--start】:实时获取redis的重要统计信息

【redis-server】:
【--test-memory 1024】 检查当前系统是否稳定的给redis分配指定的内存容量

【redis-benchmark】:可以为redis进行基准性能测试
【-c】代表客户端并发量(默认50)
【-n】后面跟数字,代表客户端总量默认100000
【-r】在一个空的redis上执行redis-benchmark,并向redis里面插入更多的随机键
【-p】每个请求pipe流水线的数据量
【-k】代表客户端是否使用keepalive,1为使用,0为不使用

pipeline:流水线
RTT:时延:发送时延、传输时延、列队时延、结果返回时延
redis-server在上海 redis-cli在北京
批量执行命令:5 RTT 1

redis事务:
抖音:用户A 关注了 用户B 在用户A的关注列表里加入了“用户B”,用户B的粉丝列表里加入了“用户A”
开启事务:multi
提交事务:exec
取消事务:discard

bitmaps:位图:对应的value 的值只有:0/1
记录用户等登录情况:一刀三杀 offset:date 04-01
命令:
1.设置值:setbit key offset value(0/1)
2.获取值:getbit key offset
3.bitcount start end 获取指定范围内值为1的个数

hyperloglog:可以使用极小的内存来统计独立总数;
ip访问量:独立ip访问量
命令:
pfadd、pfcount、pfmerge
pfadd key member ...
pfcount key
pfmerge keyname key1 key2 ...

发布订阅:
消息发布者和消息的订阅者不直接进行通信,订阅者订阅相关的channel,发布者只要在相同的频道发布消息,所有订阅者就能接收到这个消息了

命令:
1.订阅消息:
subscribe channel
psubscribe china*
2.发布消息;
publish channel message
3.取消订阅
unsubscribe channel...
4.查询订阅:
(1)查看订阅的频道;

         pubsub channels
  (2) 查看订阅数
         pubsub numsub channel

GEO:以经纬度来标识元素的地理位置
1,增加地理位置信息
geoadd key longitude memeber1 [longitude latitude member2 ]...
在这里插入图片描述
2.获取地理位置信息geopos key member1 member2 ...
在这里插入图片描述
3.获取2个地理位置的距离:
geodist key member1 member2 [unit]
unit取值:m米 km千米 mi英里 ft尺
在这里插入图片描述
4.获取指定位置范围内的地理位置信息
(1)以经纬度返回的信息:
georadius key longitude latitude randiusm|km|m|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key]
在这里插入图片描述

(2)georadiusbymember key member radius m|km|mi|ft [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key]

在这里插入图片描述

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
西门子S7-1200程序状态监视,监视表格的使用方法,如何使用交叉引用列表
本篇我们来学习西门子S7-1200程序状态监视、监视表格、交叉引用的使用方法。
西门子S7-1200程序状态监视,监视表格的使用方法,如何使用交叉引用列表
|
7月前
|
JSON 安全 C#
常用网站集合
常用网站集合
32 0
|
10月前
|
数据库
机房收费系统——学生基本信息维护(组合查询,选中整行)
机房收费系统——学生基本信息维护(组合查询,选中整行)
40 0
机房收费系统——学生基本信息维护(组合查询,选中整行)
西门子S7-200 SMART如何使用状态图表,如何创建、监视、强制、趋势显示
上篇文章中我们学习了S7-200 SMART系统块的组态,本篇我们来介绍在编程软件STEP7-Micro/WIN SMART中如何使用状态图表,以及如何创建、监视、强制、趋势显示。在STEP7-Micro/WIN SMART与PLC之间成功建立通信,并且将程序下载到PLC后,就可以监控和调试程序了。程序状态监控可以监视程序的运行情况,但是如果需要监控的变量较多,不能在程序编辑器中同时显示的时候就需要使用状态图表监控。接下来我们来介绍在STEP7-Micro/WIN SMART如何使用状态图表监控和调试程序。
西门子S7-200 SMART如何使用状态图表,如何创建、监视、强制、趋势显示
Revit 2021安装后分析选项卡中没有“空间及分区”
Revit 2021安装后分析选项卡中没有“空间及分区”
Revit 2021安装后分析选项卡中没有“空间及分区”
基于C#的ArcEngine二次开发48:点是否落在实体上检查
基于C#的ArcEngine二次开发48:点是否落在实体上检查
C#编程学习(07):自动监测大写键是否被锁定
C#编程学习(07):自动监测大写键是否被锁定
C#编程学习(07):自动监测大写键是否被锁定
|
Java Android开发
移动应用程序设计基础——点菜单列表实现
进一步理解Android各种控件的使用,加深控件的属性、方法的使用,熟练掌握ListView控件的使用,熟练掌握对话框的使用。 实现点菜单列表 1.1布局结构 列表布局分为两大部分,上半部分显示列表内容,底部显示所有菜品的总价; 菜品项如图所示包括 1.图片,图片格式120*120; 2.标题,居中,android:textAppearance="?android:attr/textAppearanceLarge", 3.菜品介绍内容,最多显示3行,超过部分用…表示,android:textAppearan
155 0
移动应用程序设计基础——点菜单列表实现
巧用生活号icon菜单和功能扩展区,更快传达你的服务!
01 你用icon菜单了吗?   还在使用单一的文字菜单? 想要表达内容太多,只能深深藏进二级菜单? 那么,建议你试试icon菜单。 简单直白,你所能提供的服务 一.目.了.然 | 杭州市民卡,利用icon菜单,所有服务一目了然,菜单点击数据直线上升;  02 功能扩展区启用了吗?   用图文推送来宣传活动?吸引点击? 可是,图文很快就会被覆盖。
443 0