小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

redis工具類

 櫻花夢(mèng)_張藝馨 2023-09-19

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
 **/
@Component
public class RedisOperator {
    @Autowired
    private StringRedisTemplate redisTemplate;
    /**
     *功能描述: 實(shí)現(xiàn)命令:DEL key ,刪除一個(gè)key
     * @params
     * @return void
     */
   public void del(String key){
       redisTemplate.delete(key);
   }
    /**
     *功能描述: 實(shí)現(xiàn)命令:expire 設(shè)置過期時(shí)間,單位秒
     * @params
     * @return void
     */
    public void expire(String key,long timeout){
        redisTemplate.expire(key,timeout, TimeUnit.SECONDS);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令:GET key ,返回key所關(guān)聯(lián)的字符串值
     * @params
     * @return java.lang.String
     */
    public String get(String key){
        return (String)redisTemplate.opsForValue().get(key);
    }

    /**
     *功能描述: 實(shí)現(xiàn)命令:INCR key  增加key一次
     * @params
     * @return long
     */
    public long  incr(String key,long delta){
        return  redisTemplate.opsForValue().increment(key,delta);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令:KEYS pattern ,查找所有符合給定模式 pattern的key
     * @params
     * @return java.util.Set<java.lang.String>
     */
    public Set<String> keys(String pattern){
        return redisTemplate.keys(pattern);
    }

    /**
     *功能描述: 實(shí)現(xiàn)命令 SET key value,設(shè)置一個(gè)key-value(將字符串值value 關(guān)聯(lián)道key)
     * @params
     * @return void
     */
    public void set(String key,String value){
        redisTemplate.opsForValue().set(key, value);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令: SET key value EX seconds ,設(shè)置key-value和超時(shí)時(shí)間(秒)
     * @params
     * @return void
     */
   public void set(String key,String value,long timeout){
        redisTemplate.opsForValue().set(key, value, timeout,TimeUnit.SECONDS);
   }
    /**
     *功能描述: 實(shí)現(xiàn)命令 TTL key,以秒為單位,返回給定key的剩余生存時(shí)間(TTL,time to live)
     * @params
     * @return long
     */
    public long ttl(String key){
        return redisTemplate.getExpire(key);
    }
//=====哈希表
    /**
     *功能描述: 實(shí)現(xiàn)命令:HSET key field value ,將哈希表key中的域 field的值設(shè)置為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);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令:HDEL key field[field...],刪除哈希表key中的一個(gè)或多個(gè)指定域,不存在
     * @params
     * @return
     */
    public void hdel(String key,Object...fielde){
        redisTemplate.opsForHash().delete(key,fielde);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令:HGTALL key,返回哈希表key中,所有的域和值。
     * @params
     * @return
     */
    public Map<Object,Object> hgetall(String key){
        return redisTemplate.opsForHash().entries(key);
    }
//======list列表
    /**
     *功能描述: 實(shí)現(xiàn)命令:LPUSH key value,將一個(gè)值 value 插入道列表key的表頭
     * @params
     * @return long
     */
    public long lpush(String key,String value){
        return redisTemplate.opsForList().leftPush(key,value);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令:LPOP key ,移除并返回列表key的頭元素
     * @params
     * @return java.lang.String
     */
    public String lpop(String key){
        return  (String)redisTemplate.opsForList().leftPop(key);
    }
    /**
     *功能描述: 實(shí)現(xiàn)命令:RPUSH key value ,將一個(gè)值value插入到列表key的表尾(最右邊)
     * @author zhangxin
     * @date 2023/9/19
     * @params
     * @return long
     */
    public long rpush(String key,String value){
        return redisTemplate.opsForList().rightPush(key, value);
    }

}

調(diào)用方法:

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;

@Controller
public class BaseController {
   
    @Autowired
    private RedisOperator redisOperator;

    public UsersVO conventUsersVO(Users user){
        // 實(shí)現(xiàn)用戶的redis會(huì)話
        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;
    }
}


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多