public static class RedisUtils.HashOps extends Object
| 构造器和说明 |
|---|
HashOps() |
| 限定符和类型 | 方法和说明 |
|---|---|
static long |
hDelete(String key,
Object... entryKeys)
(批量)删除(key对应的)hash中的对应entryKey-entryValue
注: 1、若redis中不存在对应的key, 则返回0;
2、若要删除的entryKey,在key对应的hash中不存在,在count不会+1, 如:
RedisUtil.HashOps.hPut("ds", "name", "邓沙利文");
RedisUtil.HashOps.hPut("ds", "birthday", "1994-02-05");
RedisUtil.HashOps.hPut("ds", "hobby", "女");
则调用RedisUtil.HashOps.hDelete("ds", "name", "birthday", "hobby", "non-exist-entryKey")
的返回结果为3
注: 若(key对应的)hash中的所有entry都被删除了,那么该key也会被删除
|
static boolean |
hExists(String key,
String entryKey)
查看(key对应的)hash中,是否存在entryKey对应的entry
注: 若redis中不存在key,则返回false。
|
static Object |
hGet(String key,
Object entryKey)
获取到key对应的hash里面的对应字段的值
注: 若redis中不存在对应的key, 则返回null。
|
static Map<String,Object> |
hGetAll(String key)
获取到key对应的hash(即: 获取到key对应的Map
|
static long |
hIncrBy(String key,
Object entryKey,
long increment)
增/减(hash中的某个entryValue值) 整数
注: 负数则为减。
|
static double |
hIncrByFloat(String key,
Object entryKey,
double increment)
增/减(hash中的某个entryValue值) 浮点数
注: 负数则为减。
|
static Set<Object> |
hKeys(String key)
获取(key对应的)hash中的所有entryKey
注: 若key不存在,则返回的是一个空的Set(,而不是返回null)
|
static List<Object> |
hMultiGet(String key,
Collection<Object> entryKeys)
批量获取(key对应的)hash中的entryKey的entryValue
注: 若hash中对应的entryKey不存在,那么返回的对应的entryValue值为null
注: redis中key不存在,那么返回的List中,每个元素都为null。
|
static void |
hPut(String key,
String entryKey,
Object entryValue)
向key对应的hash中,增加一个键值对entryKey-entryValue
注: 同一个hash里面,若已存在相同的entryKey, 那么此操作将丢弃原来的entryKey-entryValue,
而使用新的entryKey-entryValue。
|
static void |
hPutAll(String key,
Map<Object,Object> maps)
向key对应的hash中,增加maps(即: 批量增加entry集)
注: 同一个hash里面,若已存在相同的entryKey, 那么此操作将丢弃原来的entryKey-entryValue,
而使用新的entryKey-entryValue
|
static boolean |
hPutIfAbsent(String key,
Object entryKey,
Object entryValue)
当key对应的hash中,不存在entryKey时,才(向key对应的hash中,)增加entryKey-entryValue
否者,不进行任何操作
|
static org.springframework.data.redis.core.Cursor<Map.Entry<Object,Object>> |
hScan(String key,
org.springframework.data.redis.core.ScanOptions options)
根据options匹配到(key对应的)hash中的对应的entryKey, 并返回对应的entry集
注: ScanOptions实例的创建方式举例:
1、ScanOptions.NONE
2、ScanOptions.scanOptions().match("n??
|
static long |
hSize(String key)
获取(key对应的)hash中的所有entry的数量
注: 若redis中不存在对应的key, 则返回值为0
|
static List<Object> |
hValues(String key)
获取(key对应的)hash中的所有entryValue
注: 若key不存在,则返回的是一个空的List(,而不是返回null)
|
public static void hPut(String key, String entryKey, Object entryValue)
key - 定位hash的keyentryKey - 要向hash中增加的键值对里的 键entryValue - 要向hash中增加的键值对里的 值public static void hPutAll(String key, Map<Object,Object> maps)
key - 定位hash的keymaps - 要向hash中增加的键值对集public static boolean hPutIfAbsent(String key, Object entryKey, Object entryValue)
key - 定位hash的keyentryKey - 要向hash中增加的键值对里的 键entryValue - 要向hash中增加的键值对里的 值public static Object hGet(String key, Object entryKey)
key - 定位hash的keyentryKey - 定位hash里面的entryValue的entryKeypublic static Map<String,Object> hGetAll(String key)
key - 定位hash的keypublic static List<Object> hMultiGet(String key, Collection<Object> entryKeys)
key - 定位hash的keyentryKeys - 需要获取的hash中的字段集public static long hDelete(String key, Object... entryKeys)
key - 定位hash的keyentryKeys - 定位要删除的entryKey-entryValue的entryKeypublic static boolean hExists(String key, String entryKey)
key - 定位hash的keyentryKey - 定位hash中entry的entryKeypublic static long hIncrBy(String key, Object entryKey, long increment)
key - 用于定位hash的keyentryKey - 用于定位entryValue的entryKeyincrement - 增加多少org.springframework.data.redis.RedisSystemException - key对应的value值不支持增/减操作时public static double hIncrByFloat(String key, Object entryKey, double increment)
RedisUtils.StringOps.incrByFloat(String, double)一样, 出现精度问题。
追注: 本人简单测试了几组数据,暂未出现精度问题。key - 用于定位hash的keyentryKey - 用于定位entryValue的entryKeyincrement - 增加多少org.springframework.data.redis.RedisSystemException - key对应的value值不支持增/减操作时public static Set<Object> hKeys(String key)
key - 定位hash的keypublic static List<Object> hValues(String key)
key - 定位hash的keypublic static long hSize(String key)
key - 定位hash的keypublic static org.springframework.data.redis.core.Cursor<Map.Entry<Object,Object>> hScan(String key, org.springframework.data.redis.core.ScanOptions options)
key - 定位hash的keyoptions - 匹配entryKey的条件
注: ScanOptions.NONE表示全部匹配。
注: ScanOptions.scanOptions().match(pattern).build()表示按照pattern匹配,
其中pattern中可以使用通配符 * ? 等,
* 表示>=0个字符
? 表示有且只有一个字符
此处的匹配规则与RedisUtils.KeyOps.keys(String)处的一样。Copyright © 2022. All rights reserved.