接口IRedisDaoStr:
package com.net.test.redis.base.dao; import java.util.List; import java.util.Map; /** * @author *** * @Time:2017年8月8日 下午4:53:32 * @version 1.0 * @description redis的字符串操作 */ public interface IRedisDaoStr { public void set(String key,String value); public void get(String key); public void mset(Map<String, String> map); public void mget(List<String> listKey); public void setex(String key,String value,int offset); public void incrby(String key,int count); public void decrby(String key,int count); public void append(String key, String value); public void strlen(String key); }
实现类:
package com.net.test.redis.base.dao.imp; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Repository; import com.net.test.redis.base.dao.IRedisDaoStr; /** * @author **** * @Time:2017年8月8日 下午5:07:26 * @version 1.0 * @description redis的字符串操作 */ @Repository public class RedisDaoStrImp implements IRedisDaoStr { @Autowired private RedisTemplate<String, String> redis; /** * @description set方式设置键值对 * @param key * @param value */ @Override public void set(String key, String value) { redis.opsForValue().set(key, value); } /** * @description get方法根据key单个获取value * @param key */ @Override public void get(String key) { String value = redis.opsForValue().get(key); System.out.println(" get 方式获取值 :" + value); } /** * @description 与set方法一致,批量操作 * @param map */ @Override public void mset(Map<String, String> map) { redis.opsForValue().multiSet(map); } /** * @description 与get方法一致,批量操作 * @param listKey */ @Override public void mget(List<String> listKey) { List<String> list = redis.opsForValue().multiGet(listKey); for(String value : list) { System.out.println("mget 方式获取的值 : " + value); } } /** * @description 设置新的键值对,并且设置有效期 * @param key * @param value * @param offset 有效期 */ @Override public void setex(String key, String value, int offset) { redis.opsForValue().set(key, value, offset,TimeUnit.SECONDS); } /** * @description 自增 * @param key * @param count */ @Override public void incrby(String key, int count) { int _value = redis.opsForValue().increment(key, count).intValue(); System.out.println("自增后的值:" + _value); } /** * @description 自减 * @param key * @param count */ @Override public void decrby(String key, int count) { int _value = redis.opsForValue().increment(key, count).intValue(); System.out.println("自增后的值:" + _value); } /** * @description 追加字符串 * @param key * @param value */ @Override public void append(String key, String value) { String _value = redis.opsForValue().append(key, value).toString(); System.out.println("append 以后的新值: " + _value); } /** * @description 获取字符串长度 * @param key */ @Override public void strlen(String key) { int size = redis.opsForValue().size(key).intValue(); System.out.println("字符串长度为 : " + size); } }