redisson 集合使用示例(RList、Rset、RMap)

一、相关类及接口

  1. Rlist:链表
public interface RList<V> extends List<V>, RExpirable, RListAsync<V>, RSortable<List<V>>, RandomAccess {
    List<V> get(int... var1);              //获取指定的节点值
    
    int addAfter(V var1, V var2);          //在var1后添加var2
    int addBefore(V var1, V var2);         //在var1前添加var2
    void fastSet(int var1, V var2);        //修改var1处的值为var2
 
    List<V> readAll();                     //获取链表的所有值
    RList<V> subList(int var1, int var2);  //获取var1到var2的子链表
    List<V> range(int var1);               //返回var1往后的链表
    List<V> range(int var1, int var2);     //返回var1到var2的链表
 
    void trim(int var1, int var2);         //保留var1到var2处的链表,其余删除
 
    void fastRemove(int var1);             //删除var1处的值
    boolean remove(Object var1, int var2); //删除元素
 
    <KOut, VOut> RCollectionMapReduce<V, KOut, VOut> mapReduce();  //mapreduce操作
 
}
  1. RSet:无序集合
public interface RSet<V> extends Set<V>, RExpirable, RSetAsync<V>, RSortable<Set<V>> {
 
    V removeRandom();
    Set<V> removeRandom(int var1);     //删除对象
 
    V random();
    Set<V> random(int var1);           //随机返回对象
 
    boolean move(String var1, V var2); //判断集合var1中是否存在var2,类似contains()方法
 
    Set<V> readAll();                  //获取所有对象
 
    int union(String... var1);         //集合并集对象个数
    Set<V> readUnion(String... var1);  //集合并集
 
    int diff(String... var1);          //集合差集对象个数
    Set<V> readDiff(String... var1);   //集合差集
 
    int intersection(String... var1);         //集合交集的对象个数
    Set<V> readIntersection(String... var1);  //集合交集
 
    Iterator<V> iterator(int var1);
    Iterator<V> iterator(String var1, int var2);
    Iterator<V> iterator(String var1);        //遍历集合
 
    <KOut, VOut> RCollectionMapReduce<V, KOut, VOut> mapReduce();
 
 
    RSemaphore getSemaphore(V var1);
    RCountDownLatch getCountDownLatch(V var1);
    RPermitExpirableSemaphore getPermitExpirableSemaphore(V var1);  //信号量
 
    RLock getLock(V var1);
    RLock getFairLock(V var1);
    RReadWriteLock getReadWriteLock(V var1); //锁操作
 
    Stream<V> stream(int var1);
    Stream<V> stream(String var1, int var2);
    Stream<V> stream(String var1);          //流操作
 
}
  1. RMap:键值对
public interface RMap<K, V> extends ConcurrentMap<K, V>, RExpirable, RMapAsync<K, V> {
 
    void loadAll(boolean var1, int var2);
    void loadAll(Set<? extends K> var1, boolean var2, int var3);
 
    V get(Object var1);                       //获取var1的值
    V put(K var1, V var2);                    //添加对象
    V putIfAbsent(K var1, V var2);            //对象不存在则设置
 
    V replace(K var1, V var2);                //替换对象
    boolean replace(K var1, V var2, V var3);  //替换对象
 
    V remove(Object var1);                    //移除对象
    boolean remove(Object var1, Object var2); //移除对象
 
    void putAll(Map<? extends K, ? extends V> var1);
    void putAll(Map<? extends K, ? extends V> var1, int var2);   //添加对象
 
    Map<K, V> getAll(Set<K> var1);                               //获取key在集合var1中的键值对
 
    int valueSize(K var1);                   //key为var1的value大小
 
    V addAndGet(K var1, Number var2);        //key为var1的value加var2
 
    long fastRemove(K... var1);              //移除对象
    boolean fastPut(K var1, V var2);         //添加对象
    boolean fastReplace(K var1, V var2);     //替换key为var1的值为var2
    boolean fastPutIfAbsent(K var1, V var2); //如果不存在则设置
 
    Set<K> readAllKeySet();                  //获取所有key,以set形式返回
    Collection<V> readAllValues();           //获取所有value,以collection返回
    Set<Entry<K, V>> readAllEntrySet();      //遍历键值对
    Map<K, V> readAllMap();                  //集合形式转换为map类型
 
    Set<K> keySet();
    Set<K> keySet(int var1);
    Set<K> keySet(String var1, int var2);
    Set<K> keySet(String var1);              //获取key集合
 
    Collection<V> values();
    Collection<V> values(String var1);
    Collection<V> values(String var1, int var2);
    Collection<V> values(int var1);          //获取所有value
 
    Set<Entry<K, V>> entrySet();
    Set<Entry<K, V>> entrySet(String var1);
    Set<Entry<K, V>> entrySet(String var1, int var2);
    Set<Entry<K, V>> entrySet(int var1);     //遍历键值对
 
    <KOut, VOut> RMapReduce<K, V, KOut, VOut> mapReduce();
 
 
    RSemaphore getSemaphore(K var1);
    RCountDownLatch getCountDownLatch(K var1);
    RPermitExpirableSemaphore getPermitExpirableSemaphore(K var1);  //信号量操作
 
    RLock getLock(K var1);
    RLock getFairLock(K var1);
    RReadWriteLock getReadWriteLock(K var1);  //锁操作
 
}

Redis命令和Redisson对象匹配列表

上一篇:JDK原生反序列化利用链7u21


下一篇:Servlet