类 LettuceGenericCache

java.lang.Object
net.oschina.j2cache.lettuce.LettuceCache
net.oschina.j2cache.lettuce.LettuceGenericCache
所有已实现的接口:
Cache, Level2Cache

public class LettuceGenericCache extends LettuceCache
Redis 缓存操作封装,基于 region+_key 实现多个 Region 的缓存(
作者:
Winter Lau(javayou@gmail.com)
  • 构造器详细资料

    • LettuceGenericCache

      public LettuceGenericCache(String namespace, String region, org.apache.commons.pool2.impl.GenericObjectPool<io.lettuce.core.api.StatefulConnection<String,byte[]>> pool, int scanCount)
  • 方法详细资料

    • getBytes

      public byte[] getBytes(String key)
      从接口复制的说明: Level2Cache
      读取缓存数据字节数组
      参数:
      key - cache key
      返回:
      cache data
    • getBytes

      public List<byte[]> getBytes(Collection<String> keys)
      从接口复制的说明: Level2Cache
      同时读取多个 Key
      参数:
      keys - multiple cache key
      返回:
      cache values
    • setBytes

      public void setBytes(String key, byte[] bytes)
      从接口复制的说明: Level2Cache
      设置缓存数据字节数组
      参数:
      key - cache key
      bytes - cache data
    • setBytes

      public void setBytes(Map<String,byte[]> bytes)
      从接口复制的说明: Level2Cache
      同时设置多个数据
      参数:
      bytes - cache data
    • setBytes

      public void setBytes(String key, byte[] bytes, long timeToLiveInSeconds)
      设置缓存数据字节数组(带有效期)
      参数:
      key - cache key
      bytes - cache data
      timeToLiveInSeconds - cache ttl
    • setBytes

      public void setBytes(Map<String,byte[]> bytes, long timeToLiveInSeconds)
      批量设置带 TTL 的缓存数据
      参数:
      bytes - cache data
      timeToLiveInSeconds - cache ttl
    • keys

      public Collection<String> keys()
      1、线上redis服务大概率会禁用或重命名keys命令; 2、keys命令效率太低容易致使redis宕机; 所以使用scan命令替换keys命令操作,增加可用性及提升执行性能
      返回:
      返回键的集合
    • evict

      public void evict(String... keys)
      从接口复制的说明: Level2Cache
      Remove items from the cache
      参数:
      keys - Cache key
    • clear

      public void clear()
      从接口复制的说明: Level2Cache
      Clear the cache