首页>代码>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  LV55 2022年1月7日
1211366946  LV3 2021年12月27日
最近浏览更多
bluerstar  LV1 10月23日
orilore  LV2 10月10日
799743530  LV11 7月10日
quartz  LV8 7月1日
123456cjj  LV1 6月2日
sunlea  LV20 5月24日
李俊雄  LV3 5月8日
m5433661  LV2 3月28日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友