前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis Hash

Redis Hash

作者头像
摸鱼的G
发布2023-02-22 11:47:31
5990
发布2023-02-22 11:47:31
举报
文章被收录于专栏:火属性小虫

Redis Hash

当我们使用Redis作为缓存时,会存在一个问题:

当我们使用用户名作为用户缓存信息的Key,容易和Redis内其余数据重合,这中情况就需要使用Redis的Hash来解决:

什么是Redis Hash

Redis Hash是一个字符串类型的field(字段)和value(值)的映射表,适用于存储对象:

简单来说,Redis的整个Value就是键值对映射结构,通过key和field取得所需的值。 如我们需要储存用户数据,将数据都储存在key为”user“的缓存中,以用户名作为field,那么无论用户名是什么,都不会和其他数据冲突了:

代码语言:javascript
复制
redisTemplate.opsForHash().put("user", userDO.getUserName(), userDO);

其中第一个参数为key值,第二个为field值,第三个为数据。

当我们需要修改的时候,再次put()原来的field值就行

读取

使用:

代码语言:javascript
复制
UserDO userDO = (UserDO)redisTemplate.opsForHash().get("user", userName);

来进行读取操作,第一个参数为key,第二个为field

也可以根据key和一批field来批量查询:

代码语言:javascript
复制
List<String> userNames = new ArrayList<>();
userNames.add(userName);
List<UserDO> users = redisTemplate.opsForHash().multiGet("integralRankUser", userNames);

删除

代码语言:javascript
复制
redisTemplate.opsForHash().delete("integralRankUser", userName);

如果想要删除多个field,只需要传入多个field即可

代码语言:javascript
复制
redisTemplate.opsForHash().delete("integralRankUser", userName, "zhangsan", "lisi");
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis Hash
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档