打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
redis工具类
package com.imooc.utils;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.stereotype.Component;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;/** * @Description redis工具类 * @Date **/@Componentpublic class RedisOperator {    @Autowired    private StringRedisTemplate redisTemplate;    /**     *功能描述: 实现命令:DEL key ,删除一个key     * @params     * @return void     */   public void del(String key){       redisTemplate.delete(key);   }    /**     *功能描述: 实现命令:expire 设置过期时间,单位秒     * @params     * @return void     */    public void expire(String key,long timeout){        redisTemplate.expire(key,timeout, TimeUnit.SECONDS);    }    /**     *功能描述: 实现命令:GET key ,返回key所关联的字符串值     * @params     * @return java.lang.String     */    public String get(String key){        return (String)redisTemplate.opsForValue().get(key);    }    /**     *功能描述: 实现命令:INCR key  增加key一次     * @params     * @return long     */    public long  incr(String key,long delta){        return  redisTemplate.opsForValue().increment(key,delta);    }    /**     *功能描述: 实现命令:KEYS pattern ,查找所有符合给定模式 pattern的key     * @params     * @return java.util.Set<java.lang.String>     */    public Set<String> keys(String pattern){        return redisTemplate.keys(pattern);    }    /**     *功能描述: 实现命令 SET key value,设置一个key-value(将字符串值value 关联道key)     * @params     * @return void     */    public void set(String key,String value){        redisTemplate.opsForValue().set(key, value);    }    /**     *功能描述: 实现命令: SET key value EX seconds ,设置key-value和超时时间(秒)     * @params     * @return void     */   public void set(String key,String value,long timeout){        redisTemplate.opsForValue().set(key, value, timeout,TimeUnit.SECONDS);   }    /**     *功能描述: 实现命令 TTL key,以秒为单位,返回给定key的剩余生存时间(TTL,time to live)     * @params     * @return long     */    public long ttl(String key){        return redisTemplate.getExpire(key);    }//=====哈希表    /**     *功能描述: 实现命令:HSET key field value ,将哈希表key中的域 field的值设置为value     * @params     * @return void     */    public void hset(String key,String field,Object value){          redisTemplate.opsForHash().put(key,field,value);    }    /**     *功能描述: HGET key field ,返回哈希表 key中给定域field的值     * @params     * @return     */    public String hget(String key,String field){        return (String)redisTemplate.opsForHash().get(key,field);    }    /**     *功能描述: 实现命令:HDEL key field[field...],删除哈希表key中的一个或多个指定域,不存在     * @params     * @return     */    public void hdel(String key,Object...fielde){        redisTemplate.opsForHash().delete(key,fielde);    }    /**     *功能描述: 实现命令:HGTALL key,返回哈希表key中,所有的域和值。     * @params     * @return     */    public Map<Object,Object> hgetall(String key){        return redisTemplate.opsForHash().entries(key);    }//======list列表    /**     *功能描述: 实现命令:LPUSH key value,将一个值 value 插入道列表key的表头     * @params     * @return long     */    public long lpush(String key,String value){        return redisTemplate.opsForList().leftPush(key,value);    }    /**     *功能描述: 实现命令:LPOP key ,移除并返回列表key的头元素     * @params     * @return java.lang.String     */    public String lpop(String key){        return  (String)redisTemplate.opsForList().leftPop(key);    }    /**     *功能描述: 实现命令:RPUSH key value ,将一个值value插入到列表key的表尾(最右边)     * @author zhangxin     * @date 2023/9/19     * @params     * @return long     */    public long rpush(String key,String value){        return redisTemplate.opsForList().rightPush(key, value);    }}
调用方法:
package com.imooc.controller;import com.imooc.pojo.Users;import com.imooc.pojo.vo.UsersVO;import com.imooc.utils.RedisOperator;import org.springframework.beans.BeanUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import java.util.UUID;@Controllerpublic class BaseController {       @Autowired    private RedisOperator redisOperator;    public UsersVO conventUsersVO(Users user){        // 实现用户的redis会话        String uniqueToken = UUID.randomUUID().toString().trim();        redisOperator.set(REDIS_USER_TOKEN +":" + user.getId(),uniqueToken);        UsersVO usersVO = new UsersVO();        //a拷贝到b        BeanUtils.copyProperties(user,usersVO);        usersVO.setUserUniqueToken(uniqueToken);        return usersVO;    }}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
spring boot整合redis(单机+集群)
springboot之使用redistemplate优雅地操作redis
Java封装redis工具类
spring boot redis cache 缓存学习
继续项目实战,集成Redis分布式锁(大神勿进)
SpringBoot中Redis的set、map、list、value、实体类等基本操作介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服