美文网首页
RedisTemplate常用操作

RedisTemplate常用操作

作者: knock | 来源:发表于2020-07-13 20:52 被阅读0次
package com.yyd.init;

import com.alibaba.fastjson.JSON;
import com.yyd.init.entity.UserEntity;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.HashMap;
import java.util.concurrent.TimeUnit;

/***
 * @ClassName: RedisTest
 * @Description: TODO
 * @author: yanyd
 * @Date: 15:27 2020/7/13
 * @version : V1.0
 */
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class RedisTest {

    @Autowired
    RedisTemplate<String,Object> redisTemplate;


    @Test
    public  void redis(){
        //切换数据库
        LettuceConnectionFactory redisConnectionFactory = (LettuceConnectionFactory)redisTemplate.getConnectionFactory();
        redisConnectionFactory.setDatabase(1);

        //set
        UserEntity userEntity=new UserEntity();
        userEntity.setPwd("1111111");
        redisTemplate.opsForValue().set("m0",userEntity);
        UserEntity userEntity1= (UserEntity) redisTemplate.opsForValue().get("m0");
        System.out.println(userEntity1.getPwd());

        //不存在m 则新增m 返回true  ,存在m 不操作 返回false
        Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent("m", "k", 60, TimeUnit.SECONDS);
        System.out.println(aBoolean+"    :   "+redisTemplate.opsForValue().get("m"));


        //加入map
        redisTemplate.opsForHash().put("m1","k1","v1");
        redisTemplate.opsForHash().put("m1","k2","v2");
        System.out.println(redisTemplate.opsForHash().entries("v"));

        HashMap<String,Object> map=new HashMap<>();
        map.put("k3","v3");
        map.put("k4","v4");
        redisTemplate.opsForHash().putAll("m2",map);
        System.out.println(redisTemplate.opsForHash().entries("m2"));

        //hashset
        redisTemplate.opsForSet().add("m3","1","2","3","3");
        System.out.println(redisTemplate.opsForSet().members("m3"));

        //list
        redisTemplate.opsForList().leftPush("m4","a");
        redisTemplate.opsForList().leftPush("m4","b");
        redisTemplate.opsForList().leftPush("m4","c");
        redisTemplate.opsForList().leftPush("m4","d");
        redisTemplate.opsForList().leftPush("m4","e");
        System.out.println(redisTemplate.opsForList().range("m4",0,-1));
    }

}

输出:
1111111
false : k
{k1=v1, k2=v2}
{k3=v3, k4=v4}
[3, 2, 1]
[e, d, c, b, a]


pom.xml

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

相关文章

网友评论

      本文标题:RedisTemplate常用操作

      本文链接:https://www.haomeiwen.com/subject/mbvzcktx.html