Redis小秘密
临渊羡鱼,不如退而织网。
一、Redis基本数据类型
想必很多人都能脱口而出String、List、Hash、Sorted Set和Set五种基本数据类型。
以及五大基本数据类型简要区别:
- redis存储的是:key、value格式的数据,其中key都是字符串,value有5种不同的数据结构。
- value的数据结构:
还有五种基本数据类型底层对应的数据结构:
还有五种基本数据类型对应的使用场景:
String
- 计数器
- 分布式锁
- 存储对象
List
- 消息队列
- 排行榜
- 最新消息
Set
- 好友/关注/粉丝/感兴趣的人集合
- 随机展示
- 黑/白名单
Hash
- 购物车
- 存储对象
ZSET
- 销量排名、积分排名、成绩排名、各种排行榜
- 延迟队列
- 限流
二、但是Redis还有其他的三种特殊数据类型呢?
还能脱口而出geospatial、hyperloglog和bitmap吗。
1、地理位置-Geospatial
2、基数统计-Hyperloglog
说明:
- 基数不大,数据量不大就用不上,会有点大材小用浪费空间;
- 有局限性,就是只能统计基数数量,而没办法去知道具体的内容是什么;
- 和bitmap相比,属于两种特定统计情况,简单来说,HyperLogLog 去重比 bitmap 方便很多;
- 一般可以bitmap和hyperloglog配合使用,bitmap标识哪些用户活跃,hyperloglog计数。
一般使用:
- 统计注册 IP 数;
- 统计每日访问 IP 数;
- 统计页面实时 UV 数;
- 统计在线用户数;
- 统计用户每天搜索不同词条的个数。
3、位图-Bitmaps
Bitmaps可用于统计用户信息,活跃、不活跃,登录、未登录,打卡状态如365打卡,两个为打卡的场景下都可以使用Bitmaps。其底层都是操作二进制位来进行记录,就只有0和1两个状态。
三、Redis自带性能测试工具
后台启动Redis后即可通过命令打开新窗口使用自带的性能测试工具。
四、Redis可以通过value获取key?
据说是在Redis客户端是无法通过value获取key的,我也不确定,但是在Java业务上是可以实现这样的需求的。
五、Redis五种基本数据类型的性能排序?
至今未解,有缘人求赐教。(String > ? Hash ? List ? Set ? Hash ? Sorted Set)
临渊羡鱼
不如退而织网
Original: https://www.cnblogs.com/taojietaoge/p/15915947.html
Author: 涛姐涛哥
Title: Redis小秘密
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612218/
转载文章受原作者版权保护。转载请注明原作者出处!