java 执行redis的部分方法
2023-09-27 14:25:09 时间
@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高并发核心编程(卷1):NIO、Netty、Redis、ZooKeeper
- vagrant+java+springcloud+redis+zookeeper镜像下载(&制作详解)
- 在Java中使用Redis
- 关于java中redis操作直接使用jedis和使用springboot封装的RedisTemplate效率对比和主要区别
- 20Redis - Java连接Redis
- Java中Redis的使用教程
- Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
- java高级精讲之高并发抢红包~揭开Redis分布式集群与Lua神秘面纱
- 基于Java(Spring Boot)+MySQL实现商品销售平台【100010126】
- 手动编译并运行Java项目的过程
- java 反射和泛型-反射来获取泛型信息
- Java中如何使用Redis做缓存
- Java 函数式编程—@FunctionalInterface----functional interface
- Java学习-088-解决 IDEA 使用 DB Navigator 连接 MYSQL 时区问题
- java从数据库查询数据存在redis中
- 浅析Redis发布订阅机制及其Java实现
- 【转】Java十大常用框架介绍(spring系+dubbo+RabbitMQ+Ehcache+redis)
- 策略模式原理及Java代码实例
- Java中使用Jedis操作Redis
- Java应用连接Redis
- java数据结构
- Java串口通信具体解释
- Java学习路线:day24 集合2
- Java开发 - Redis初体验
- Java使用位图+redis生成抖音号、淘淘号、B站UID号等分布式ID
- 五分钟学会悲观乐观锁-java vs mysql vs redis三种实现
- Java中核心注解的作用及其使用,了解Spring容器装载的过程和机制,自定义注解来实现自动配置项目依赖环境,包括mybatis、Dubbo、log4j、RabbitMQ、redis相关等自动配置
- Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理
- JAVA设计模式之单例模式