美文网首页
整合 Redis

整合 Redis

作者: 阿__飞 | 来源:发表于2018-05-29 14:04 被阅读0次

    1.引入依赖包(可能会出现版本问题 1.4后)

    2. redis 配置

    # Redis数据库索引(默认为0)

    spring.redis.database=0

    # Redis服务器地址

    spring.redis.host=192.168.25.130

    # Redis服务器连接端口

    spring.redis.port=6379

    # Redis服务器连接密码(默认为空)

    spring.redis.password=

    # 连接池最大连接数(使用负值表示没有限制)

    spring.redis.pool.max-active=8

    # 连接池最大阻塞等待时间(使用负值表示没有限制)

    spring.redis.pool.max-wait=-1

    # 连接池中的最大空闲连接

    spring.redis.pool.max-idle=8

    # 连接池中的最小空闲连接

    spring.redis.pool.min-idle=0

    # 连接超时时间(毫秒)

    spring.redis.timeout=0

    3. 实现工具类( 使用 StringRedisTemplate 类实现)


    import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.core.ValueOperations;import org.springframework.data.redis.serializer.StringRedisSerializer;import org.springframework.stereotype.Component;/** * redis 工具类 * @author 史恒飞 ,tel:18516417728 * @version 1.0 ,2018年3月29日下午4:15:02 */@Componentpublic class RedisUtil { @Autowired private StringRedisTemplate redisTemplate; /** * 批量删除对应的value * * @param keys */ public void remove(final String... keys)   { for (String key : keys) { remove(key); } } /** * 批量删除key * * @param pattern */ public void removePattern(final String pattern) { Set keys = redisTemplate.keys(pattern); if (keys.size() > 0) redisTemplate.delete(keys); } /** * 删除对应的value * * @param key */ public void remove(final String key) { if (exists(key)) { redisTemplate.delete(key); } } /** * 判断缓存中是否有对应的value * * @param key * @return */ public boolean exists(final String key) { return redisTemplate.hasKey(key); } /** * 读取缓存 * * @param key * @return */ public String get(final String key) { Object result = null; redisTemplate.setValueSerializer(new StringRedisSerializer()); ValueOperations operations = redisTemplate.opsForValue(); result = operations.get(key); if (result == null) { return null; } return result.toString(); } /** * 写入缓存 * * @param key * @param value * @return */ public boolean set(final String key, Object value) { boolean result = false; try { ValueOperations operations = redisTemplate.opsForValue(); operations.set(key, (String) value); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * 写入缓存 * * @param key * @param value * @return */ public boolean set(final String key, String value, Long expireTime) { boolean result = false; try { ValueOperations operations = redisTemplate.opsForValue(); operations.set(key, value); redisTemplate.expire(key, expireTime, TimeUnit.SECONDS); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * 存储 map 类型数据 * @param key 主 key * @param value map 数据 * @return */ public boolean hmset(String key, Map value) { boolean result = false; try { // 保存 map 类型数据 redisTemplate.opsForHash().putAll(key, value); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * 读取 map 类型数据 * @param key 主 key * @param mkey map 中的 key * @return */ public String hmget(String key,String mkey) { String result = null; try { // 获取 value result = (String) redisTemplate.opsForHash().get(key, mkey); } catch (Exception e) { e.printStackTrace(); } return result; }}


    4.测试

    3. 参考

    相关文章

      网友评论

          本文标题:整合 Redis

          本文链接:https://www.haomeiwen.com/subject/qpamcftx.html