java 执行redis的部分方法
2017-01-16 14:35
253 查看
@Autowired private RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } protected RedisSerializer<String> getRedisSerializer(){ return redisTemplate.getStringSerializer(); }/** * 添加用户 */ @Override public boolean addUser(final UserVo user,final String sessionId) throws Exception { boolean result=redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer =getRedisSerializer(); byte[] key = serializer.serialize(sessionId); byte[] user1=null; try { user1 = SerializableUtils.toByteArray(user); } catch (Exception e) { e.printStackTrace(); } connection.append(key, user1); return true; } }); return result; } /** * 查询用户 */ @Override public UserVo getUserVo(final String string) throws Exception { UserVo result=redisTemplate.execute(new RedisCallback<UserVo>() { @Override public UserVo doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer =getRedisSerializer(); byte[] key = serializer.serialize(string); byte[] value = connection.get(key); if(value==null){ return null;} UserVo user=null; try { user=(UserVo) SerializableUtils.fromByteArray(value); } catch (Exception e) { e.printStackTrace(); } return user; } }); return result; } //添加字符串 @Override public Boolean addString(final String key,final String value) throws Exception { boolean result=redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer =getRedisSerializer(); byte[] k = serializer.serialize(key); byte[] v=null; try { v = SerializableUtils.toByteArray(value); } catch (Exception e) { e.printStackTrace(); } connection.append(k, v); return true; } }); return result; } /** * 查询字符串 */ @Override public String getString(final String key) throws Exception { String result=redisTemplate.execute(new RedisCallback<String>() { @Override public String doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer =getRedisSerializer(); byte[] keys = serializer.serialize(key); byte[] value = connection.get(keys); if(value==null){ return null; } String str=null; try { str=(String) SerializableUtils.fromByteArray(value); } catch (Exception e) { e.printStackTrace(); } return str; } }); return result; } /** * 查询字符串 */ @Override public Set<String> getKeys(String pattern){ Set<String> keys = redisTemplate.keys(pattern); return keys; } /** * 删除key */ @Override public Boolean delete(final String key) { boolean result=redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer=getRedisSerializer(); byte[] k = serializer.serialize(key); connection.del(k); return true; } }); return result; } //更新字符串 @Override public Boolean updateString(final String key,final String value) { if(key==null){ throw new NullPointerException("数据行不存在, key = " + key); } boolean result=redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer=getRedisSerializer(); byte[] k = serializer.serialize(key); byte[] v=null; try { v = SerializableUtils.toByteArray(value); connection.set(k, v); } catch (Exception e) { e.printStackTrace(); } return true; } }); return result; } //设置过期时间 @Override public void setTime(final String key, final int liveTime) { redisTemplate.execute(new RedisCallback<Object>() { public Long doInRedis(RedisConnection connection) throws DataAccessException { if (liveTime > 0) { RedisSerializer<String> serializer=getRedisSerializer(); byte[] k = serializer.serialize(key); connection.expire(k, liveTime); } return 1L; } }); }
相关文章推荐
- java 执行redis的部分方法
- 在JAVA中动态执行类的静态方法
- 在java的web应用中实现定期执行任务方法二
- java利用反射动态执行类方法
- 将java类成为可执行文件.exe文件的一些方法、软件、下载地址
- JAVA代码:通过Socket执行HTTP的GET方法
- 将Java程序变成可执行文件的简单方法
- c与java中计算程序执行时间的方法
- JAVA代码:通过Socket执行HTTP的POST方法
- java动态代理类,测试,实现AOP,在执行target回调方法前后插入相关代码处理
- 在JAVA中动态执行类的静态方法
- Java基本的六种排序(方法部分)
- java---j2ee---hibernate执行原生Sql语句的方法
- java定时执行任务的方法:
- 在java的web应用中实现定期执行任务方法一
- 理解Java类中构造方法的执行顺序和变量初始化
- C与Java中计算程序执行时间的方法
- [零基础学JAVA]Java SE基础部分-05.数组与方法
- Java执行命令行下命令方法
- 利用一下java的反射根据字符串找类,方法,然后执行方法