【退役之重学Java】关于 Redis

一、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,可以看到用户在排行榜里的排名。

相关推荐
weixin_399380694 分钟前
TongWeb+TongDataGrid+TongHttpServer实现Session复制
java·tomcat
青云交4 分钟前
Java 大视界 -- Java+Flink CDC 构建实时数据同步系统:从 MySQL 到 Hive 全增量同步(443)
java·mysql·flink·实时数据同步·java+flink cdc·mysql→hive·全增量同步
开开心心就好5 分钟前
音频格式互转工具,支持Mp3ApeWavFlac互转
java·网络·c++·windows·qt·电脑·excel
Java猿_5 分钟前
开发 Java 项目,选哪个 IDE?Eclipse、MyEclipse 与 IntelliJ IDEA 深度对比
java·ide·eclipse
Icarus_5 分钟前
IDEA Android studio 快捷鍵
java·android studio·intellij-idea
小罗和阿泽6 分钟前
Java项目 简易图书管理系统
java·开发语言
superman超哥8 分钟前
Rust HashMap的哈希算法与冲突解决:高性能关联容器的内部机制
开发语言·后端·rust·哈希算法·编程语言·冲突解决·rust hashmap
刘一说10 分钟前
腾讯位置服务JavaScript API GL与JavaScript API (V2)全面对比总结
开发语言·javascript·信息可视化·webgis
a程序小傲12 分钟前
【Node】单线程的Node.js为什么可以实现多线程?
java·数据库·后端·面试·node.js
Aotman_1 小时前
JS 按照数组顺序对对象进行排序
开发语言·前端·javascript·vue.js·ui·ecmascript