| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package cn.com.lzt.common.dao;
- import java.io.Serializable;
- import org.springframework.beans.factory.annotation.Autowired;
- 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.stereotype.Repository;
- import cn.com.lzt.common.util.SerializeUtil;
- @Repository
- public class RedisDaoImpl implements RedisDao {
-
- @Autowired
- protected RedisTemplate<Serializable, Serializable> redisTemplate;
- @Override
- public String testRedis() {
- return redisTemplate.execute(new RedisCallback<String>() {
- public String doInRedis(RedisConnection connection)
- throws DataAccessException {
- byte[] key = redisTemplate.getStringSerializer().serialize(
- "testsw");
- if (connection.exists(key)) {
- byte[] value = connection.get(key);
- String str = redisTemplate.getStringSerializer()
- .deserialize(value);
- return str;
- } else {
- return "没有从Redis获取相关信息";
- }
- }
- });
- }
- @Override
- public void save(final String key, Object value) {
- final byte[] vbytes = SerializeUtil.serialize(value);
- redisTemplate.execute(new RedisCallback<Object>() {
- @Override
- public Object doInRedis(RedisConnection connection)
- throws DataAccessException {
- connection.set(redisTemplate.getStringSerializer().serialize(key), vbytes);
- return null;
- }
- });
- }
- @Override
- public <T> T get(final String key,Class<T> elementType) {
- return redisTemplate.execute(new RedisCallback<T>() {
- @Override
- public T doInRedis(RedisConnection connection)
- throws DataAccessException {
- byte[] keybytes = redisTemplate.getStringSerializer().serialize(key);
- if (connection.exists(keybytes)) {
- byte[] valuebytes = connection.get(keybytes);
- @SuppressWarnings("unchecked")
- T value = (T) SerializeUtil.unserialize(valuebytes);
- return value;
- }
- return null;
- }
- });
- }
- @Override
- public void delete(String key) {
- redisTemplate.delete(key);
- }
- @Override
- public String getString(final String keyValue) {
- return redisTemplate.execute(new RedisCallback<String>() {
- public String doInRedis(RedisConnection connection)
- throws DataAccessException {
- byte[] key = redisTemplate.getStringSerializer().serialize(
- keyValue);
- if (connection.exists(key)) {
- byte[] value = connection.get(key);
- String str = redisTemplate.getStringSerializer()
- .deserialize(value);
- return str;
- } else {
- return null;
- }
- }
- });
- }
-
- @Override
- public void setString(final String key,final String value) {
- redisTemplate.execute(new RedisCallback<String>() {
- @Override
- public String doInRedis(RedisConnection connection)
- throws DataAccessException {
- connection.set(key.getBytes(), value.getBytes());
- return null;
- }
- });
- }
- }
|