spring boot 中redis 一些基本的方法

最近在看一些redis的东西稍微demo来一下

创建一个springboot项目
1.pom文件搞起 用idea 直接输入redis就会有提示 相对其他工具简单很多

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

不错的一个亮点以前都需要自己去copy过来验证挺麻烦
在这里插入图片描述
配置文件搞起

springboot配置应用端口
spring.application.name=redisTest
server.port=9090



#redis 索引库
spring.redis.database=0
# redis 服务器地址
spring.redis.host= 127.0.0.1
# redis 端口号
spring.redis.port=6379
# redis 密码
spring.redis.password=

# redis 最大连接数
spring.redis.jedis.pool.max-active=8
# redis  最大的阻塞数
spring.redis.jedis.pool.max-wait=-1
# 超时
spring.redis.timeout=0

接下来就简单很多了RedisTemplate

    @Autowired
    RedisTemplate redisTemplate;
 /**
     * @Description TODO 插入建值
     * @Author Tan.li
     * @Date 2020-08-31
     */
    public void redisPut(String key,String value){
        redisTemplate.opsForValue().set(key,value);
    }

    /**
     * @Description TODO 获取值
     * @Author Tan.li
     * @Date 2020-08-31
     */
    public String redisGet(String key){
       return  String.valueOf(redisTemplate.opsForValue().get(key));
    }



    /**
     * @Description TODO   删除key
     * @Author Tan.li
     * @Date 2020-08-31
     */
    public void  deleteRedisKey(String key){
        redisTemplate.delete(key);
    }

    /***
     * @MethodName bathDeleteDedisKey
     * @Description TODO 批量删除
     * @param
     * @param key
     * @Return void
     * @Author tanli45
     * @Date 2020-08-31
     * @Since 1.0
     */
    public void batchDeleteDedisKey(String...key){
        if (key.length==1){
            redisTemplate.delete(key[0]);
        }else {
            redisTemplate.delete(CollectionUtils.arrayToList(key));
        }
    }


    /**
     * @Description TODO 判断key是否存在
     * @Author Tan.li
     * @Date 2020-08-31
     */
    public boolean hasKey(String key){
        return redisTemplate.hasKey(key);
    }

    /**
     * @Description TODO 存储建值 在加有效时长
     * @Author Tan.li
     * @Date 2020-08-31
     */
    public void  redisPutTime(String key,String value,long time){
        redisTemplate.opsForValue().set(key,value,time);
    }


    /***
     * @MethodName incrementRedisKey
     * @Description TODO redis 缓存的增加因子  意思是 当数key的value是1  如果传入因子 1   1+1  value =2
     *   减因子 就是负数理解
     * @param 
     * @param key
     * @param datatl
     * @Return void
     * @Author tanli45
     * @Date 2020-08-31
     * @Since 1.0
     */
    public  void incrementRedisKey(String key ,long datatl){
        redisTemplate.opsForValue().increment(key,datatl);
    }


    /**
     * @Description TODO 获取路径下所有key
     * @Author Tan.li
     * @Date 2020-08-31
     */
    public Set keys(String  pathKey){
        return  redisTemplate.keys(pathKey);
    }
    /**
     * @MethodName redisOpsSet
     * @Description TODO 获取Set中的值
     * @param 
     * @param key
     * @Return java.util.Set
     * @Author tanli45
     * @Date 2020-08-31
     * @Since 1.0
     */
    public Set redisOpsSet(String key){
         return  redisTemplate.opsForSet().members(key);
    }
    /***
     * @MethodName redisOpsput
     * @Description TODO
     * @param 
     * @param key
     * @param value
     * @Return void
     * @Author tanli45
     * @Date 2020-08-31
     * @Since 1.0
     */
    public  void  redisOpsput(String key,String...value){
        redisTemplate.opsForSet().add(key,value);
    }


    /**
     * @MethodName redisOpsSetisMembers
     * @Description TODO 判断是否存在  Set中是否存在
     * @param
     * @param key
     * @param obj
     * @Return boolean
     * @Author tanli45
     * @Date 2020-08-31
     * @Since 1.0
     */
    public boolean redisOpsSetisMembers(String key,Object obj){
       return  redisTemplate.opsForSet().isMember(key,obj);
    }

    /***
     * @MethodName redisOpsSetRemove
     * @Description TODO
     * @param
     * @param key
     * @param objs
     * @Return boolean
     * @Author tanli45
     * @Date 2020-08-31
     * @Since 1.0
     */
    public boolean  redisOpsSetRemove(String key,Object...objs) {
        try {
            long size = redisTemplate.opsForSet().remove(key, objs);
            if (size >= 0) {
                return true;
            }
        } catch (Exception e) {
            return false;
        }
        return false;
    }

redis用的就是存入进去值进行缓存起来,等调用直接从缓存中捞出来用,通过redis我们做了很多其他的操作如分布式锁,比如用户登录几次之后锁定五分钟之后在进行操作,短信频繁发送。。。。。等等业务场景都运用。

demo代码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值