// String数据类型 存储一对键值 仅支持value为String类型 public void setString(final String key, final String value) { redisTemplate.execute( new RedisCallback<Serializable>() { public Serializable doInRedis(RedisConnection connection) throws DataAccessException { connection.set( redisTemplate.getStringSerializer().serialize(key), redisTemplate.getStringSerializer().serialize(value)); return null; } }); }
public boolean setnx(final String key, final String value, Long expireTime) { Boolean result = redisTemplate.execute( new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { return connection.setNX(key.getBytes(), value.getBytes()); } }); if (result) redisTemplate.expire(key, expireTime, TimeUnit.MILLISECONDS); return result; }
/** * String数据类型 读取键为key的值仅支持value为String类型 * * @param key * @return 字符串 */ public Serializable getString(final String key) { return redisTemplate.execute( new RedisCallback<Serializable>() { @Override public Serializable doInRedis(RedisConnection connection) throws DataAccessException { byte[] byteKey = redisTemplate.getStringSerializer().serialize(key); if (connection.exists(byteKey)) { byte[] value = connection.get(byteKey); String strValue = redisTemplate.getStringSerializer().deserialize(value); return strValue; } return null; } }); }