Redis快取簡單示例
阿新 • • 發佈:2018-12-10
1.jar包:
Springboot框架用這個會比較好
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>1.5.9.RELEASE</version> </dependency>
通用的用:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
這裡測試一下就只放入一個key和value了
介面,宣告方法
f
@Service("redisService") public class RedisServiceImpl implements RedisService { @Resource private RedisTemplate<String, ?> redisTemplate; @Resource private JedisPool jedisPool; public boolean set(final String key, final String value) { boolean result = redisTemplate.execute(new RedisCallback<Boolean>() { public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); connection.set(serializer.serialize(key), serializer.serialize(value)); return true; } }); return result; } public boolean set(final String key, final String value, final Long expireTime) { boolean result = redisTemplate.execute(new RedisCallback<Boolean>() { public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); connection.set(serializer.serialize(key), serializer.serialize(value)); redisTemplate.expire(key, expireTime, TimeUnit.SECONDS); return true; } }); return result; } public String get(final String key) { String result = redisTemplate.execute(new RedisCallback<String>() { public String doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); byte[] value = connection.get(serializer.serialize(key)); return serializer.deserialize(value); } }); return result; } public boolean exists(String key) { Jedis jedis = null; try { jedis = jedisPool.getResource(); return jedis.exists(key); } finally { if (jedis != null) { jedis.close(); } } } @Override public void delete(String key) { try{ Jedis jedis = jedisPool.getResource(); jedis.del(key); }catch(Exception e){ e.printStackTrace(); } } @Override public long ttl(String token) { try{ Jedis jedis = jedisPool.getResource(); return jedis.ttl(token); }catch(Exception e){ e.printStackTrace(); } return (long) -2; } }
中轉站
設定過期時間30分鐘
jsp頁面接受兩個值,key值和value值,jsp就不發了
以下是效果圖
翻車
原因是:我沒開啟redis
開啟就好了