【退役之重学Java】关于 Redis

ops/2024/11/10 16:33:09/

一、Redis 都有哪些数据类型

  1. String
    最基本的类型,普通的set和get,做简单的kv缓存
  2. hash
    这是一个类似map 的一种结构,这个一般可以将结构化的数据,比如一个对象(前提是这个对象没有嵌套其他的对象)给缓存在redis里,然后每次读写缓存的时候,可以操作hash 中的某个字段
  3. list
    有序列表,这个可玩性很高
    比如,可以通过list 存储一些列表型的数据结构,蕾西粉丝列表,文章的评论之类的东西。
    比如,可以通过 lrange 命令,从某个元素开始读取多少个元素,可以基于 list 实现分页查询,这是一个很棒的功能,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断页的东西,性能高,就一页一页走
  4. set
    无序集合,自动去重
    直接基于 set 将系统里需要去重的数据扔进去,自动就给去重了
    可以基于 set 玩交集、并集、差集,比如交集,可以把两个人的粉丝列表整一个交集,看看两个人的共同好友是谁
  5. sorted set
    排序的 set,去重但是可以排序,写进去的时候给一个分数,自动根据分数排序,这个可以玩出很多花样,最大的特点是有个分数可以自定义排序规则
    比如,要想根据时间对数据排序,那么可以在写入的时候使用某个时间作为分数,sorted set 就自动给你按照时间排序了

排行榜:将每个用户以及其对应的什么分数写入,zadd board score username,接着 zrevrange board 0 99 ,就可以获取排名前100的用户,zrank board username,可以看到用户在排行榜里的排名。


http://www.ppmy.cn/ops/40757.html

相关文章

es6语法总结

【1】语法 (1)声明变量(let-var-const) 变量提升: 是JavaScript引擎在代码执行前将变量的声明部分提升到作用域顶部的行为。尽管变量的声明被提升了,变量的赋值(即初始化)仍然保留在原来的位置。因此&…

1-3 如何学习,才能让这门课真正发挥价值

如何学习,才能让这门课真正发挥价值 在正式踏上产品经理学习之路前。我希望以一名课程产品经理的身份,来向你解释下这门课的设计理念和学习方法,以便让它真正对你有所帮助。 为什么这么说呢?是因为我发现,大都具备非常…

13.跳跃游戏

文章目录 题目简介题目解答解法一:贪心算法+动态规划代码:复杂度分析: 题目链接 大家好,我是晓星航。今天为大家带来的是 跳跃游戏面试题 相关的讲解!😀 题目简介 题目解答 思路:这…

BUG:PyAutoGUI pyautogui.ImageNotFoundException

BUG:PyAutoGUI pyautogui.ImageNotFoundException 环境 python 3.10 PyAutoGUI0.9.54 PyScreeze0.1.30BUG详情 在确定屏幕存在指定图片的情况下,使用PyAutoGUI中的locateCenterOnScreen()函数识别图片失败弹出这个bug。 注意: 1 如果屏幕不存在指定图…

电影网站|基于SSM+vue的电影网站系统(源码+数据库+文档)

电影网站 目录 基于SSMvue的电影网站系统 一、前言 二、系统设计 三、系统功能设计 1 系统功能模块 2 管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道…

IT行业现状与未来趋势

你眼中的IT行业现状与未来趋势 IT行业当前处于高速发展阶段,涵盖了各种技术领域,如人工智能、大数据、云计算、物联网、区块链等。以下是我眼中的一些现状和未来趋势: 1. 人工智能(AI)的普及和应用广泛化&#xff1a…

一次pytorch分布式训练精度调试过程

现象: loss不下降 过程如下: 1.减少层数,准备最小复现环境 2.dropout设置为0,重复运行二次,对比loss是否一致 3.第二次迭代开始loss不一致 4.对比backward之后的梯度,发现某一个梯度不一致 5.dump得到所有算子的规模,单算子测试…

Cocos Creator 3.8.x报错:5302

在小游戏加载某个bundle后,如果报以下错误: 5302:Can not find class %s 说明bundle中某个预制件*.prefab引用了未加载的bundle的资源。 解决方法有两个: 1、将引用的资源移到预制件*.prefab相同的bundle下; 2、将…