首页>代码>SSM+MySQL开发java CRM客户关系管理系统>/ShiTou_CRM/src/com/oaec/shitou/cache/impl/RedisDaoImpl.java
package com.oaec.shitou.cache.impl;

import java.io.Serializable;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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.data.redis.core.ValueOperations;
import org.springframework.stereotype.Repository;

import com.oaec.shitou.cache.RedisDao;
import com.oaec.shitou.util.SerializeUtil;



@Repository("redisDao")
public class RedisDaoImpl implements RedisDao {
	Log log = LogFactory.getLog(RedisDaoImpl.class);
	@Autowired
	private RedisTemplate<Serializable, Serializable> redisTemplate;

	private long expriseTime=600;//redis 澶辨晥鏃堕棿绉�
	@Override
	public void set(final String key, final String value) {
		redisTemplate.execute(new RedisCallback<Object>() {
			@Override
			public Object doInRedis(RedisConnection connection)
					throws DataAccessException {
				connection.setEx(
						redisTemplate.getStringSerializer().serialize(key),
						expriseTime,
						redisTemplate.getStringSerializer().serialize(value));
				return null;
			}
		});

	}

	@Override
	public String get(final String key) {
		return redisTemplate.execute(new RedisCallback<String>() {
			@Override
			public String doInRedis(RedisConnection connection)
					throws DataAccessException {
				byte[] keys = redisTemplate.getStringSerializer()
						.serialize(key);
				if (connection.exists(keys)) {
					byte[] values = connection.get(keys);
					String value = redisTemplate.getStringSerializer()
							.deserialize(values);
					return value;
				}
				return null;
			}
		});
	}

	@Override
	public Object getObject(final String key) {
		log.info("getObject key:" + key);
		return redisTemplate.execute(new RedisCallback<Object>() {
			@Override
			public Object doInRedis(RedisConnection connection)
					throws DataAccessException {
				byte[] keys = redisTemplate.getStringSerializer()
						.serialize(key);
				if (connection.exists(keys)) {
					byte[] values = connection.get(keys);

					return SerializeUtil.unserialize(values);
				}
				return null;
			}
		});
	}
	
	@Override
	public void delete(final String key) {
		log.info("delete key:" + key);
		redisTemplate.execute(new RedisCallback<Object>() {
			public Object doInRedis(RedisConnection connection) {
				long count = connection.del(
						redisTemplate.getStringSerializer().serialize(key));
				System.out.println("redis delete" + count);
				return null;
			}
		});

	}

	@Override
	public void setObject(final String key,final Object obj) {
		log.info("setObject key:" + key);
		final byte[] objByte = SerializeUtil.serialize(obj);

		redisTemplate.execute(new RedisCallback<Object>() {
			@Override
			public Object doInRedis(RedisConnection connection)
					throws DataAccessException {
				connection.setEx(
						redisTemplate.getStringSerializer().serialize(key),
						expriseTime,
						objByte);
				return null;
			}
		});

	}
	
	@Override
	public void setString(String key, String value) {
		ValueOperations<Serializable, Serializable> opsForValue = redisTemplate.opsForValue();
		opsForValue.set("name", value);
	}

	@Override
	public void setEntity(String key, String obj) {
		ValueOperations<Serializable, Serializable> opsForValue = redisTemplate.opsForValue();
		opsForValue.set(key, obj);
	}

	@Override
	public String getString(String key) {
		redisTemplate.getValueSerializer();
		return null;
	}

	@Override
	public Object getEntity(String key) {
		return null;
	}

	@Override
	public void del(String uid) {
		// TODO Auto-generated method stub
		
	}

}
最近下载更多
2036495585  LV9 2023年9月25日
wcm2003  LV1 2023年6月3日
lwp011  LV27 2022年9月19日
brucega  LV3 2022年6月1日
yuqi886  LV5 2022年4月16日
大水池  LV2 2022年4月8日
Yee.  LV5 2022年3月13日
刘123456789  LV8 2022年2月24日
wanglinddad  LV54 2022年1月7日
1211366946  LV3 2021年12月27日
最近浏览更多
m5433661  LV2 3月28日
森sdfgf  LV8 3月26日
vluobo  LV1 3月19日
爱丽淇  LV5 3月18日
shenghaer  LV1 2月9日
阿凡达  LV9 1月29日
admin_z  LV22 1月29日
PSSDZH  LV3 1月22日
binlong520 1月11日
暂无贡献等级
晴曛  LV6 2023年12月29日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友