RedisUtil utility class
Package com.amway.msgcenter.msgtask.util
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.StringRedisTemplate
Import org.springframework.stereotype.Component
Import redis.clients.jedis.JedisCommands
@ Component
Public class RedisUtil {
The template,StringRedisTemplate of @ Autowired// operation string is a subset of RedisTemplate private StringRedisTemplate stringRedisTemplate;@Autowired// RedisTemplate, and can perform all operations private RedisTemplate redisTemplate;public void set (String key, String value) {stringRedisTemplate.opsForValue (). Set (key, value);} public void set (String key, String value, long time) {stringRedisTemplate.opsForValue (). Set (key, value, time);} public String get (String key) {return stringRedisTemplate.opsForValue () .get (key) } public void delete (String key) {stringRedisTemplate.delete (key);} public Long getLock (String lockKey, String value, int time) {return redisTemplate.execute (new RedisCallback () {@ Override public Long doInRedis (RedisConnection connection) throws DataAccessException {JedisCommands commands = (JedisCommands) connection.getNativeConnection (); Long result = commands.setnx (lockKey, value); commands.expire (lockKey, time); return result }});} public String getLock2 (String lockKey, String value, int time) {return redisTemplate.execute (new RedisCallback () {@ Override public String doInRedis (RedisConnection connection) throws DataAccessException {JedisCommands commands = (JedisCommands) connection.getNativeConnection (); return commands.set (lockKey, value, "NX", "PX", time * 1000L);}});})
}