Ezio's Blog
Posts Categories Tags Music Mood About
Ezio's Blog· Light
☰ Menu
Posts Categories Tags Music Mood About
Expand all Back to top Go to bottom

Redis数据类型

Author: Ezio Date: December 30, 2019  14:44:39 Category: Redis

Redis支持五种数据类型,分别是string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(sorted set:有序集合)

Redis数据结构

  • string: key-value
  • hash: key-field-value
  • **list:**key-value
  • **set:**key-member
  • **zset:**key-score-member
  • http://redisdoc.com/ Redis命令查询

Redis场景应用思路

1.针对具体场景选用适合的数据结构

  • 涉及随机,不重复:set

  • 多维度排序:zset

  • 单维度排序:list、zset

2.限制条件的判断

  • 可以通过增加标识key去判断,方式有:

    setnx、hsetnx、incrby、hincrby、zincrby

  • 也可以通过set的唯一性去判断:

    sadd、zadd

3.zset数据结构的权重值score设计在某些场景可以通过设置一个基准值进行比较

例如:送礼成功后,房间送礼榜单实时计算用户送礼总金额及房间送礼排名,并且不在房间的用户无排名,如何设计?

该问题存在以下四个场景:

  • 用户进入房间

  • 查询房间榜单

  • 用户赠送礼物

  • 用户离开房间

其中,在用户进入房间和离开房间时,通过给每个进入的用户设置较大基准值

1
2
3
4
/**
* 用户基本权重
*/
long baseScore = 1000000000L;

来实现用户离开和进入对排名的影响,查询房间列表只取基准值以上的,离开房间则减去基准值。

Author: Ezio

Permalink: https://ezioy.cn/2019/12/30/Redis%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/

License: Copyright (c) 2019 CC-BY-NC-4.0 LICENSE

Slogan: Nothing is true,Everything is permitted

Tag(s): # Redis
back · home
JVM 类加载过程 Linux环境下安装Tomcat
Ezio © 2019 - 2026 | Powered by Hexo & Chic | 访客数量:   浏览次数: | 渝公网安备50011302222043 | 渝ICP备2023013933号-1