Spring RedisTemplate操作-String操作

来源:互联网 发布:stc857单片机引脚图 编辑:程序博客网 时间:2024/04/27 15:35
package com.panku.web.redis;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
 * Spring RedisTemplate操作-String操作
 * @author ccx
 *
 */
@RunWith(SpringJUnit4ClassRunner.class)  
@ContextConfiguration(locations = "classpath:applicationContext.xml")  
public class RedisTemplateString {
    @Resource(name="redisTemplate")
    private RedisTemplate<String, String> rt;
    
    public void flushdb(){
        rt.execute(new RedisCallback<Object>() {
            public String doInRedis(RedisConnection connection) throws DataAccessException {
                connection.flushDb();
                return "ok";
            }
        });
    }
    @Test
    public void set(){
        flushdb();
        ValueOperations<String, String> vo = rt.opsForValue();
        vo.set("wzg", "nihao");
        vo.set("wzg", "nihao",3);
        vo.set("wzg2", "nihao",2,TimeUnit.MINUTES);
        vo.set("mc", "nihao");
        vo.setIfAbsent("wzg", "dsg");
        Map<String, String> map = new HashMap<String, String>();
        map.put("cff", "xsg");
        map.put("cl", "xxsg");
        vo.multiSet(map);
        vo.append("cff", " sm");
        vo.increment("age", 2);
        vo.increment("age", 1);
        vo.increment("age", -1);
        rt.delete("mc");
        rt.convertAndSend("redisss", "niyashabi");
        rt.setEnableTransactionSupport(true);
    }
    @Test
    public void get(){
        ValueOperations<String, String> vo = rt.opsForValue();
        System.out.println(vo.get("wzg"));
        System.out.println(vo.get("wzg",1,2));
        System.out.println(vo.getAndSet("wzg", "hello"));
        System.out.println(vo.get("wzg"));
        System.out.println(vo.multiGet(Arrays.asList("cff","cl")));
        System.out.println(vo.get("age"));
        System.out.println(vo.size("wzg"));
        System.out.println(vo.get("mc"));
        System.out.println(rt.keys("*"));
        System.out.println(rt.randomKey());
        System.out.println(rt.getClientList());
        System.out.println(rt.hasKey("wzg"));
        System.out.println(rt.type("wzg"));
        System.out.println(rt.getExpire("wzg2"));
    }
}