zeng

zeng

may world peace

Redisson中怎么操作Redis五种基本数据类型

Redisson 中怎么操作 Redis 五种基本数据类型

Redis 支持五种数据类型:

  1. string(字符串)
  2. hash(哈希)
  3. list(列表)
  4. set(集合)
  5. zset (sorted set:有序集合)
string#

string 是 redis 最基本的类型,string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

Redisson 将 Redis 中的字符串数据结构封装成了 RBucket,通过 RedissonClient 的 getBucket (key) 方法获取一个 RBucket 对象实例,通过这个实例可以设置 value 或设置 value 和有效期。

RBucket<Object> rBucket = redissonClient.getBucket("k1");
rBucket.set("v1",500, TimeUnit.MILLISECONDS);
String sValue = (String) rBucket.get();
hash#

Redis hash 是一个键值 (key=>value) 对集合。Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。Hash 适合存储对象,并且可以像数据库中 update 一个属性一样只修改某一项属性值 (不需取出整个字符串反序列化成对象修改完再序列化存回去),比如存储、读取、修改用户属性。

Redisson 将 Redis 中的字符串数据结构封装成了 RMap

final RMap rMap = redissonClient.getMap("m1");
rMap.put("id","1");
rMap.put("name","jk");
rMap.expire(500,TimeUnit.MILLISECONDS);
String mValue = (String) rMap.get("name");
list#

Redis 列表 List 是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。List 可用于最新消息排行,比如朋友圈的时间线) ,或者消息队列。

Redisson 将 Redis 中的字符串数据结构封装成了 RList

final RList<Object> rList = redissonClient.getList("l1");
rList.add("tom");
rList.add("king");
rList.add("jack");
rList.expire(500,TimeUnit.MILLISECONDS);
String lValue = (String) rList.get(1);
set#

Redis 的 Set 是 string 类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O (1)。Set 适用于处理共同好友,或利用唯一性,统计访问网站的所有独立 ip,以及好友推荐时,根据 tag 求交集,大于某个阈值就可以推荐。

Redisson 将 Redis 中的字符串数据结构封装成了 RSet

final RSet<Object> rSet = redissonClient.getSet("s1");
rSet.add("java");
rSet.add("javascript");
rSet.expire(500,TimeUnit.MILLISECONDS);//通过key获取所有的
valueredissonClient.getSet("s1");
zset#

Redis zset 和 set 一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。zset 的成员是唯一的,但分数 (score) 却可以重复。Zset 适用于排行榜,或者带权重的消息队列

Redisson 将 Redis 中的字符串数据结构封装成了 RScoredSortedSet

RScoredSortedSet<Object> rScoredSortedSet = redissonClient.getScoredSortedSet("zs1");
rScoredSortedSet.addScore("tom",3.0);
rScoredSortedSet.addScore("king",3.5);//通过key获取所有的
valueredissonClient.getScoredSortedSet("zs1");
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。