org.springframework.data.redis.core.RedisTemplate.getValueSerializer()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(6.3k)|赞(0)|评价(0)|浏览(112)

本文整理了Java中org.springframework.data.redis.core.RedisTemplate.getValueSerializer方法的一些代码示例,展示了RedisTemplate.getValueSerializer的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RedisTemplate.getValueSerializer方法的具体详情如下:
包路径:org.springframework.data.redis.core.RedisTemplate
类名称:RedisTemplate
方法名:getValueSerializer

RedisTemplate.getValueSerializer介绍

[英]Returns the value serializer used by this template.
[中]返回此模板使用的值序列化程序。

代码示例

代码示例来源:origin: spring-projects/spring-data-redis

RedisSerializer valueSerializer() {
  return template.getValueSerializer();
}

代码示例来源:origin: spring-projects/spring-data-redis

@SuppressWarnings("unchecked")
public <T> T execute(final RedisScript<T> script, final List<K> keys, final Object... args) {
  // use the Template's value serializer for args and result
  return execute(script, template.getValueSerializer(), (RedisSerializer<T>) template.getValueSerializer(), keys,
      args);
}

代码示例来源:origin: org.springframework.data/spring-data-redis

RedisSerializer valueSerializer() {
  return template.getValueSerializer();
}

代码示例来源:origin: apache/servicemix-bundles

RedisSerializer valueSerializer() {
  return template.getValueSerializer();
}

代码示例来源:origin: apache/servicemix-bundles

@SuppressWarnings("unchecked")
public <T> T execute(final RedisScript<T> script, final List<K> keys, final Object... args) {
  // use the Template's value serializer for args and result
  return execute(script, template.getValueSerializer(), (RedisSerializer<T>) template.getValueSerializer(), keys,
      args);
}

代码示例来源:origin: org.springframework.data/spring-data-redis

@SuppressWarnings("unchecked")
public <T> T execute(final RedisScript<T> script, final List<K> keys, final Object... args) {
  // use the Template's value serializer for args and result
  return execute(script, template.getValueSerializer(), (RedisSerializer<T>) template.getValueSerializer(), keys,
      args);
}

代码示例来源:origin: songxinjianqwe/EShop-SOA

public boolean put(String key, Object obj) {
  final byte[] keyBytes = key.getBytes(CharsetProperties.charset);
  RedisSerializer valueSerializer = redisTemplate.getValueSerializer();
  final byte[] valueBytes = valueSerializer.serialize(obj);
  boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
    @Override
    public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
      return connection.setNX(keyBytes, valueBytes);
    }
  });
  return result;
}

代码示例来源:origin: songxinjianqwe/EShop-SOA

public <T> boolean putWithExpireTime(String key, T obj, final long expireTime) {
  final byte[] keyBytes = key.getBytes(CharsetProperties.charset);
  RedisSerializer valueSerializer = redisTemplate.getValueSerializer();
  final byte[] valueBytes = valueSerializer.serialize(obj);
  boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {
    @Override
    public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
      connection.setEx(keyBytes, expireTime, valueBytes);
      return true;
    }
  });
  return result;
}

代码示例来源:origin: huangjian888/jeeweb-mybatis-springboot

@SuppressWarnings({"unchecked", "rawtypes"})
private byte[] rawValue(Object value) {
  RedisSerializer valueSerializer = getRedisTemplate().getValueSerializer();
  if (valueSerializer == null && value instanceof byte[]) {
    return (byte[])value;
  }
  return valueSerializer.serialize(value);
}

代码示例来源:origin: songxinjianqwe/EShop-SOA

public <T> List<T> getList(final String key, Class<T> targetClass) {
  byte[] result = redisTemplate.execute(new RedisCallback<byte[]>() {
    @Override
    public byte[] doInRedis(RedisConnection connection) throws DataAccessException {
      return connection.get(key.getBytes(CharsetProperties.charset));
    }
  });
  if (result == null) {
    return null;
  }
  RedisSerializer valueSerializer = redisTemplate.getValueSerializer();
  return (List<T>) valueSerializer.deserialize(result);
}

代码示例来源:origin: songxinjianqwe/EShop-SOA

public <T> T get(final String key, Class<T> targetClass) {
  byte[] result = redisTemplate.execute(new RedisCallback<byte[]>() {
    @Override
    public byte[] doInRedis(RedisConnection connection) throws DataAccessException {
      return connection.get(key.getBytes(CharsetProperties.charset));
    }
  });
  if (result == null) {
    return null;
  }
  RedisSerializer valueSerializer = redisTemplate.getValueSerializer();
  return (T) valueSerializer.deserialize(result);
}

代码示例来源:origin: com.github.xiaolyuh/layering-cache-core

@Override
public void onMessage(Message message, byte[] pattern) {
  super.onMessage(message, pattern);
  // 解析订阅发布的信息,获取缓存的名称和缓存的key
  RedisPubSubMessage redisPubSubMessage = (RedisPubSubMessage) cacheManager.getRedisTemplate()
      .getValueSerializer().deserialize(message.getBody());
  log.debug("redis消息订阅者接收到频道【{}】发布的消息。消息内容:{}", new String(message.getChannel()), JSON.toJSONString(redisPubSubMessage));
  // 根据缓存名称获取多级缓存,可能有多个
  Collection<Cache> caches = cacheManager.getCache(redisPubSubMessage.getCacheName());
  for (Cache cache : caches) {
    // 判断缓存是否是多级缓存
    if (cache != null && cache instanceof LayeringCache) {
      switch (redisPubSubMessage.getMessageType()) {
        case EVICT:
          // 获取一级缓存,并删除一级缓存数据
          ((LayeringCache) cache).getFirstCache().evict(redisPubSubMessage.getKey());
          log.info("删除一级缓存{}数据,key={}", redisPubSubMessage.getCacheName(), redisPubSubMessage.getKey());
          break;
        case CLEAR:
          // 获取一级缓存,并删除一级缓存数据
          ((LayeringCache) cache).getFirstCache().clear();
          log.info("清除一级缓存{}数据", redisPubSubMessage.getCacheName());
          break;
        default:
          log.error("接收到没有定义的订阅消息频道数据");
          break;
      }
    }
  }
}

代码示例来源:origin: xiaolyuh/layering-cache

@Override
public void onMessage(Message message, byte[] pattern) {
  super.onMessage(message, pattern);
  // 解析订阅发布的信息,获取缓存的名称和缓存的key
  RedisPubSubMessage redisPubSubMessage = (RedisPubSubMessage) cacheManager.getRedisTemplate()
      .getValueSerializer().deserialize(message.getBody());
  log.debug("redis消息订阅者接收到频道【{}】发布的消息。消息内容:{}", new String(message.getChannel()), JSON.toJSONString(redisPubSubMessage));
  // 根据缓存名称获取多级缓存,可能有多个
  Collection<Cache> caches = cacheManager.getCache(redisPubSubMessage.getCacheName());
  for (Cache cache : caches) {
    // 判断缓存是否是多级缓存
    if (cache != null && cache instanceof LayeringCache) {
      switch (redisPubSubMessage.getMessageType()) {
        case EVICT:
          // 获取一级缓存,并删除一级缓存数据
          ((LayeringCache) cache).getFirstCache().evict(redisPubSubMessage.getKey());
          log.info("删除一级缓存{}数据,key={}", redisPubSubMessage.getCacheName(), redisPubSubMessage.getKey());
          break;
        case CLEAR:
          // 获取一级缓存,并删除一级缓存数据
          ((LayeringCache) cache).getFirstCache().clear();
          log.info("清除一级缓存{}数据", redisPubSubMessage.getCacheName());
          break;
        default:
          log.error("接收到没有定义的订阅消息频道数据");
          break;
      }
    }
  }
}

相关文章

微信公众号

最新文章

更多