栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Redis】RedisTemplate常用方法总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Redis】RedisTemplate常用方法总结

文章目录

前言一、RedisTemplate是什么?二、使用步骤1.引入库2.自动装配3.常用数据类型

1.String

1.1 存入数据到缓存 Integer、String、实体类等1.2 缓存基本的对象并设置过期时间,Integer、String、实体类等1.3 获取缓存基本对象1.4 删除缓存中单个对象1.5 获得缓存的基本对象列表 2.List

2.1 缓存List数据2.2 获得缓存的list对象2.3 删除集合对象 3.Set

3.1 缓存Set数据3.2 获得缓存的set 4.Map

5.1 缓存Map5.2 获得缓存的Map5.3 删除Hash中的数据5.4 获取多个Hash中的数据 5.常用方法

5.1 设置有效时间 总结


前言

公司开发中,使用装Redis封装类,本文记录RedisTemplate封常用方法,以便于日常使用方便


以下是本篇文章正文内容,下面案例可供参考

一、RedisTemplate是什么?

Spring中用于操作Redis工具类

二、使用步骤 1.引入库

代码如下(示例):

import org.springframework.data.redis.core.RedisTemplate;
2.自动装配

代码如下(示例):

@Autowired
public RedisTemplate redisTemplate;
3.常用数据类型 1.String

代码如下(示例):

1.1 存入数据到缓存 Integer、String、实体类等
    
    public  void setCacheObject(final String key, final T value)
    {
        redisTemplate.opsForValue().set(key, value);
    }
1.2 缓存基本的对象并设置过期时间,Integer、String、实体类等

代码如下(示例):

    
    public  void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit)
    {
        redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
    }

时间单位:TimeUnit工具类(NANOSECONDS、MICROSECONDS、MILLISECONDS、SECONDS、MINUTES、HOURS、DAYS)

1.3 获取缓存基本对象

代码如下(示例):

    
    public  T getCacheObject(final String key)
    {
        ValueOperations operation = redisTemplate.opsForValue();
        return operation.get(key);
    }
1.4 删除缓存中单个对象

代码如下(示例):

 
    public boolean deleteObject(final String key)
    {
        return redisTemplate.delete(key);
    }
1.5 获得缓存的基本对象列表

代码如下(示例):

    
    public Collection keys(final String pattern)
    {
        return redisTemplate.keys(pattern);
    }
2.List

代码如下(示例):

2.1 缓存List数据

代码如下(示例):

  
    public  long setCacheList(final String key, final List dataList)
    {
        Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
        return count == null ? 0 : count;
    }
2.2 获得缓存的list对象

代码如下(示例):

    public  List getCacheList(final String key)
    {
        return redisTemplate.opsForList().range(key, 0, -1);
    }
2.3 删除集合对象

代码如下(示例):

    
    public long deleteObject(final Collection collection)
    {
        return redisTemplate.delete(collection);
    }
3.Set

代码如下(示例):

3.1 缓存Set数据

代码如下(示例):

    
    public  BoundSetOperations setCacheSet(final String key, final Set dataSet)
    {
        BoundSetOperations setOperation = redisTemplate.boundSetOps(key);
        Iterator it = dataSet.iterator();
        while (it.hasNext())
        {
            setOperation.add(it.next());
        }
        return setOperation;
    }
3.2 获得缓存的set

代码如下(示例):

 
    public  Set getCacheSet(final String key)
    {
        return redisTemplate.opsForSet().members(key);
    }
4.Map

代码如下(示例):

5.1 缓存Map

代码如下(示例):

    
    public  void setCacheMap(final String key, final Map dataMap)
    {
        if (dataMap != null) {
            redisTemplate.opsForHash().putAll(key, dataMap);
        }
    }
5.2 获得缓存的Map

代码如下(示例):

    
    public  T getCacheMapValue(final String key, final String hKey)
    {
        HashOperations opsForHash = redisTemplate.opsForHash();
        return opsForHash.get(key, hKey);
    }
5.3 删除Hash中的数据

代码如下(示例):

   
    public void delCacheMapValue(final String key, final String hkey)
    {
        HashOperations hashOperations = redisTemplate.opsForHash();
        hashOperations.delete(key, hkey);
    }
5.4 获取多个Hash中的数据

代码如下(示例):

    public  List getMultiCacheMapValue(final String key, final Collection hKeys)
    {
        return redisTemplate.opsForHash().multiGet(key, hKeys);
    }
 
5.常用方法 
5.1 设置有效时间 
   
    public boolean expire(final String key, final long timeout, final TimeUnit unit)
    {
        return redisTemplate.expire(key, timeout, unit);
    }

总结

以上为常用RedisTemplate常用方法,这里记录一下,方便工作中的使用

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号