RedisTemplate API学习笔记

redis的数据结构

redis可以存储五种类型的数据结构

1.String

String是redis最基本的存储类型,一个key对应一个value,数据库存储格式如下

字符串结构在redis中的存储结构
 @Autowired
    open lateinit var resdisTemple: RedisTemplate<String,String>

 resdisTemple.opsForValue() 方法返回 ValueOperations<K, V>接口

//字符串操作接口 里面提供了大量关于字符串类型的操作接口,这里就不一一列举
public interface ValueOperations<K, V> {}

//保存操作
 resdisTemple.opsForValue().set("redisString","redis-string")
//查询操作
 resdisTemple.opsForValue().get("redisString")
。。。

2.List集合

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边),存储格式如下(注意list中可以存储重复的元素)

list集合在数据库中的存储结构
//方法返回一个接口
resdisTemple.opsForList() 
//该接口提供了一系列操作list集合的接口
public ListOperations<K, V> opsForList() {}

//插入数据
 resdisTemple.opsForList().rightPushAll("redisList", listOf("age","sex","boy"))
 //随机移除一个元素
resdisTemple.opsForList().rightPop("redisList")
//从左边插入一个元素
 resdisTemple.opsForList().leftPush("redisList","edg")
//在左边指定位置插入元素
 resdisTemple.opsForList().leftPush("gdd","sex","rng")
。。。

 3.hash

hash是一个用来存储键值对集合,适合用来存储对象,在redis中的数据结构如下

 resdisTemple.opsForHash() 返回HashOperations<H, HK, HV>()提供了对hash结构的操作接口
 public interface HashOperations<H, HK, HV> {}
   //存储
 resdisTemple.opsForHash<String,String>().put("redisHash","name","tom")
 //获取多个值
 resdisTemple.opsForHash<String,String>().multiGet("redisHash",listOf("aget1","aget")).toString()
//返回值对
Map<HK, HV> entries(H key)

4.Set

Redis的Set是string类型的无序集合。

集合是通过哈希表实现,添加,删除,查找的复杂度都是O(1)。数据库存储如下

Set集合元素不能重复

//操作Set集合的方法
resdisTemple.opsForSet()

//提供操作Set集合的接口
public SetOperations<K, V> opsForSet() {}

//新增
add("redisSet", "dog")
//删除某个元素
remove("redisSet","dog")
。。。

5.Zset 

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。存储结构如下

ZSet存储格式
//操作Zset的接口
public ZSetOperations<K, V> opsForZSet() {}
//新增
 resdisTemple.opsForZSet().add("redisZset","zset-1",1.0)

猜你喜欢

转载自blog.csdn.net/m0_37939214/article/details/82628848