RedisTemplate API

Redis 数据结构

结构类型

结构存储的值

结构的读写能力

String 可以是字符串、整数或者浮点数 对整个字符串或者字符串的其中一部分执行操作;对象和浮点数执行自增(increment)或者自减(decrement)
List 一个链表,链表上的每个节点都包含了一个字符串 从链表的两端推入或者弹出元素;根据偏移量对链表进行修剪(trim);读取单个或者多个元素;根据值来查找或者移除元素
Set 包含字符串的无序收集器(unorderedcollection),并且被包含的每个字符串都是独一无二的、各不相同 添加、获取、移除单个元素;检查一个元素是否存在于某个集合中;计算交集、并集、差集;从集合里卖弄随机获取元素
Hash 包含键值对的无序散列表 添加、获取、移除单个键值对;获取所有键值对
Zset 字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定 添加、获取、删除单个元素;根据分值范围(range)或者成员来获取元素

RedisTemplate应用

Spring封装了RedisTemplate对象来进行对Redis的各种操作

public class RedisTemplate<K,V>
extends RedisAccessor
implements RedisOperations<K,V>, BeanClassLoaderAware

RedisTemplate常用方法

    1)Boolean delete(K key)     ----删除对应key的数据

    2)Long delete(Collection<K> keys)    ----批量删除数据

    3)Boolean hasKey(K key)    ----判断redis库是否存在该key

    4)Boolean expire(K key,long timeout,TimeUnit unit)    ----设置过期时间

timeout:过期时间

unit:时间单位

    5)Boolean expireAt(K key,Date date)    ----设置到date时间点过期

    6)Long getExpire(K key)    ----获取过期时间

    7)Set<K> keys(K pattern)    ----获取符合条件的所有key

pattern:通配条件 (* 号是通配符)

eg:keys("*") ——查询所有的key值

      keys("a*") ——查询以a开头的所有key

    8)void rename(K oldKey, K newKey)    ----key值重命名

    9)ValueOperations<K, V> opsForValue()    ----操作字符串,如下

    10)ListOperations<K, V> opsForList()    ----操作list,如下

    11)SetOperations<K, V> opsForSet()    ----操作set,如下

    12)ZSetOperations<K, V> opsForZSet()    ----操作zset,如下

    *) boundValueOps(K key),boundListOps(K key)……    ----bound与以下五种方法操作类似,bound是对相应key的数据操作,以下是对所有操作

RedisTemplate中定义了对5种数据结构操作

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

 

RedisTemplate对五种数据类型操控

 

一、Redis的String数据结构 (推荐使用StringRedisTemplate)

注意:如果使用RedisTemplate需要更改序列化方式

public interface ValueOperations<K,V>    -->ValueOperations可以对String数据结构进行操作

1、插入数据  

    1)void set( K  key, V  value) 

key:储存键;  value:储存值
使用:redisTemplate.opsForValue().set("name","tom"); 
结果:redisTemplate.opsForValue().get("name")  
输出结果为tom

    2)void set(K key, V value, long timeout, TimeUnit unit)

timeout:过期时间;  unit:时间单位  
使用:redisTemplate.opsForValue().set("name","tom",10, TimeUnit.SECONDS); 
结果:redisTemplate.opsForValue().get("name")由于设置的是10秒失效,十秒之内查询有结果,十秒之后返回为null

 

    3)void set(K key, V value, long offset)    ----该方法是用 value 参数覆写(ov

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值