redis五大基本类型,还有实用三种的特点及使用场景,

1.string(字符串)

特点:

二进制安全

适用场景:

  • 计数器
  • 对象缓存
  • 统计数量(粉丝数)

2.Hash(哈希)

特点:

适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去)

适用场景:

hash变更的数据 user name age,尤其是是用户信息之类的,经常变动的信息! hash 更适合于对象的 存储,String更加适合字符串存储!

3.list(列表)

特点:

链表(双向链表)可演化成栈,队列,在两边插入或者改动值,效率高

适用场景:

  • 1,最新消息排行等功能(比如朋友圈的时间线)
  • 2,消息队列

4.Set(集合)

特点:

哈希表实现,元素不重复
1、添加、删除,查找的复杂度都是O(1)
2、为集合提供了求交集、并集、差集等操作

适用场景:

  • 1、共同好友
  • 2、利用唯一性,统计访问网站的所有独立ip
  • 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐

5.Zset(有序集合)

特点:

将Set中的元素增加一个权重参数score,元素按score有序排列,天然排序

适用场景:

  • 1、排行榜
  • 2、带权重的消息队列

实用:

Geospatial 地理位置
georadius 以给定的经纬度为中心, 找出某一半径内的元素
我附近的人? (获得所有附近的人的地址,定位!)通过半径来查询!
获得指定数量的人,200 所有数据应该都录入:china:city ,才会让结果更加请求!
Hyperloglog l浏览量
一个人访问一个网站多次,但是还是算作一个人
传统的方式, set 保存用户的id,然后就可以统计 set 中的元素数量作为标准判断 ! 这个方式如果保存大量的用户id,就会比较麻烦!我们的目的是为了计数,而不是保存用户id;
Bitmap
统计用户信息,活跃,不活跃! 登录 、 未登录! 打卡,365打卡! 两个状态的,都可以使用 Bitmaps!
Bitmap 位图,数据结构! 都是操作二进制位来进行记录,就只有0 和 1 两个状态! 365 天 = 365 bit 1字节 = 8bit 46 个字节左右!
getbit sign 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值