Appearance
informat.redis Redis
概述
使用informat.redis
对象进行Redis相关操作
opsForValue
获取值操作对象
javascript
const ops = informat.redis.opsForValue();
返回值
返回一个值操作对象。
示例
javascript
const ops = informat.redis.opsForValue();
注意:
- 此方法不需要参数,返回一个可以进行值操作的对象。
set
设置指定 key 的值
javascript
ops.set(key, value, timeout, redisTimeoutUnit)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要设置的key |
value | String | 要设置的值 |
timeout | Integer | 选填,有效时间 |
redisTimeoutUnit | RedisTimeoutUnit | 选填,时间单位 |
RedisTimeoutUnit可选值
- NANOSECONDS 纳秒
- MICROSECONDS 微秒
- MILLISECONDS 毫秒
- SECONDS 秒
- MINUTES 分钟
- HOURS 小时
- DAYS 天
返回值
无返回值。
示例
javascript
const ops = informat.redis.opsForValue();
ops.set('key1', 'value1', 5, 'MINUTES');
注意:
- 参数 key 和 value 都必须为字符串类型。该方法适用于设置单个键值对,可以用于缓存数据或持久化数据。
setIfAbsent
仅当 key 不存在时设置指定 key 的值
javascript
ops.setIfAbsent(key, value, timeout, redisTimeoutUnit)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要设置的key |
value | String | 要设置的值 |
timeout | Integer | 选填,有效时间 |
redisTimeoutUnit | RedisTimeoutUnit | 选填,时间单位 |
返回值
返回一个布尔值,表示是否成功设置值。
示例
javascript
const ops = informat.redis.opsForValue();
const success = ops.setIfAbsent('key1', 'value1', 5, 'MINUTES');
注意:
- 参数 key 和 value 都必须为字符串类型。该方法适用于仅在键不存在时设置值,可以用于实现分布式锁。
setIfPresent
仅当 key 存在时设置指定 key 的值
javascript
ops.setIfPresent(key, value, timeout, redisTimeoutUnit)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要设置的key |
value | String | 要设置的值 |
timeout | Integer | 选填,过期时间 |
redisTimeoutUnit | RedisTimeoutUnit | 选填,时间单位 |
返回值
返回一个布尔值,表示是否成功设置值。
示例
javascript
const ops = informat.redis.opsForValue();
const success = ops.setIfPresent('key1', 'value1', '5', 'MINUTES');
注意:
- 参数 key 和 value 都必须为字符串类型。该方法适用于仅在键存在时设置值,可以用于更新已有的键值对。
multiSet
批量设置指定 key 的值
javascript
ops.multiSet(keyValuePairs)
参数 | 类型 | 描述 |
---|---|---|
keyValuePairs | Object | 要设置的键值对对象 |
返回值
无返回值。
示例
javascript
const ops = informat.redis.opsForValue();
ops.multiSet({ 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' });
注意:
- 参数 keyValuePairs 必须为对象类型,且对象的键和值都必须为字符串类型。该方法适用于批量设置数据的场景,可以减少与 Redis 的通信次数,提高系统性能。
multiSetIfAbsent
仅当所有 key 都不存在时批量设置指定 key 的值
javascript
ops.multiSetIfAbsent(keyValuePairs)
参数 | 类型 | 描述 |
---|---|---|
keyValuePairs | Object | 要设置的键值对对象 |
返回值
返回一个布尔值,表示是否成功设置值。
示例
javascript
const ops = informat.redis.opsForValue();
const success = ops.multiSetIfAbsent({ 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' });
注意:
- 参数 keyValuePairs 必须为对象类型,且对象的键和值都必须为字符串类型。该方法适用于仅在所有键都不存在时批量设置值,可以用于实现分布式锁。
setRange
设置指定 key 的值的子字符串
javascript
ops.setRange(key, value, offset)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要设置的key |
value | String | 要设置的值的子字符串 |
offset | Integer | 子字符串的起始位置 |
返回值
无返回值。
示例
javascript
const ops = informat.redis.opsForValue();
ops.setRange('key1', 'value1', 2);
注意:
- 参数 key 和 value 必须为字符串类型,offset 必须为数字类型。该方法适用于更新字符串的部分内容。
好的,下面是根据你提供的模板格式编写的各个方法的开发文档示例:
get
获取指定 key 的值
javascript
ops.get(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要获取的key |
返回值
返回 key 对应的 value,如果 key 不存在则返回 null。
示例
javascript
const ops = informat.redis.opsForValue();
const value = ops.get('key1');
注意:
- 参数 key 必须为字符串类型。该方法适用于获取单个键值对,可以用于读取缓存数据或持久化数据。
getAndExpire
获取指定 key 的值,并设置过期时间
javascript
ops.getAndExpire(key, timeout, redisTimeoutUnit)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要获取的key |
timeout | Integer | 过期时间 |
redisTimeoutUnit | RedisTimeoutUnit | 时间单位 |
返回值
返回 key 对应的 value,如果 key 不存在则返回 null。
示例
javascript
const ops = informat.redis.opsForValue();
const value = ops.getAndExpire('key1', 60, 'SECONDS'); // 获取 key1 的值,并设置其在60秒后过期
注意:
- 参数 key 必须为字符串类型,timeout 必须为数字类型。该方法适用于需要获取值并同时设置过期时间的场景。
getAndPersist
获取指定 key 的值,并移除过期时间
javascript
ops.getAndPersist(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要获取的key |
返回值
返回 key 对应的 value,如果 key 不存在则返回 null。
示例
javascript
const ops = informat.redis.opsForValue();
const value = ops.getAndPersist('key1'); // 获取 key1 的值,并移除其过期时间
注意:
- 参数 key 必须为字符串类型。该方法适用于需要获取值并同时移除过期时间的场景。
getAndSet
获取指定 key 的值,并设置新的值
javascript
ops.getAndSet(key, newValue)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要获取的key |
newValue | String | 新的值 |
返回值
返回 key 之前对应的 value,如果 key 不存在则返回 null。
示例
javascript
const ops = informat.redis.opsForValue();
const oldValue = ops.getAndSet('key1', 'newValue'); // 获取 key1 的旧值,并设置新的值为 newValue
注意:
- 参数 key 和 newValue 都必须为字符串类型。该方法适用于需要获取旧值并设置新值的场景。
multiGet
批量获取指定 key 的值
javascript
ops.multiGet(keys)
参数 | 类型 | 描述 |
---|---|---|
keys | Array<String> | 要获取的key组 |
返回值
返回 key 对应的 value 的数组,如果 key 不存在则返回 null。
示例
javascript
const ops = informat.redis.opsForValue();
const values = ops.multiGet(['key1', 'key2', 'key3']);
注意:
- 参数 keys 必须为数组类型,且数组元素必须为字符串类型。该方法适用于批量获取数据的场景,可以减少与 Redis 的通信次数,提高系统性能。
increment
将指定 key 的值加 1
javascript
ops.increment(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要增加值的key |
返回值
返回增加后的值。
示例
javascript
const ops = informat.redis.opsForValue();
const newValue = ops.increment('key1'); // 将 key1 的值加 1
注意:
- 参数 key 必须为字符串类型。该方法适用于对数值类型的键值对进行自增操作。
decrement
将指定 key 的值减 1
javascript
ops.decrement(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要减少值的key |
返回值
返回减少后的值。
示例
javascript
const ops = informat.redis.opsForValue();
const newValue = ops.decrement('key1'); // 将 key1 的值减 1
注意:
- 参数 key 必须为字符串类型。该方法适用于对数值类型的键值对进行自减操作。
append
在指定 key 的值后追加字符串
javascript
ops.append(key, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要追加值的key |
value | String | 要追加的字符串 |
返回值
返回追加后的值的长度。
示例
javascript
const ops = informat.redis.opsForValue();
const newLength = ops.append('key1', 'appendValue'); // 在 key1 的值后追加字符串 appendValue
注意:
- 参数 key 和 value 都必须为字符串类型。该方法适用于对字符串类型的键值对进行追加操作。
size
获取指定 key 的值的大小(字节数)
javascript
ops.size(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要获取大小的 key |
返回值
返回 key 对应值的大小(字节数),如果 key 不存在则返回 0。
示例
javascript
const ops = informat.redis.opsForValue();
const size = ops.size('myKey');
注意:
- 参数 key 必须为字符串类型。该方法适用于需要获取存储值大小的场景。
setBit
设置指定 key 的值的某个位的值
javascript
ops.setBit(key, offset, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要设置位值的 key |
offset | Integer | 要设置的位的偏移量(从 0 开始) |
value | Integer | 要设置的位值(0 或 1) |
返回值
返回设置之前该位的值。
示例
javascript
const ops = informat.redis.opsForValue();
const previousValue = ops.setBit('myKey', 5, 1);
注意:
- 参数 key 必须为字符串类型,offset 必须为数字类型,value 必须为 0 或 1。该方法适用于位操作的场景。
getBit
获取指定 key 的值的某个位的值
javascript
ops.getBit(key, offset)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要获取位值的 key |
offset | Integer | 要获取的位的偏移量(从 0 开始) |
返回值
返回指定 key 的值的某个位的值(0 或 1)。
示例
javascript
const ops = informat.redis.opsForValue();
const bitValue = ops.getBit('myKey', 5);
注意:
- 参数 key 必须为字符串类型,offset 必须为数字类型。该方法适用于位操作的场景。
opsForList
提供对 Redis 列表操作的方法集合。
range
获取列表中指定范围内的元素。
javascript
opsForList.range(key, start, end)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
start | Integer | 起始位置 |
end | Integer | 结束位置 |
返回值
返回指定范围内的元素列表。
示例
javascript
const ops = informat.redis.opsForList();
const elements = ops.range('myList', 0, -1);
注意:
- 参数
key
必须为字符串类型,start
和end
必须为数字类型。start
和end
可以为负数,表示从列表末尾开始计数。
trim
修剪列表,只保留指定范围内的元素。
javascript
opsForList.trim(key, start, end)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
start | Integer | 起始位置 |
end | Integer | 结束位置 |
返回值
无返回值。
示例
javascript
const ops = informat.redis.opsForList();
ops.trim('myList', 1, 3);
注意:
- 参数
key
必须为字符串类型,start
和end
必须为数字类型。start
和end
可以为负数,表示从列表末尾开始计数。
size
获取列表的长度。
javascript
opsForList.size(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
返回值
返回列表的长度。
示例
javascript
const ops = informat.redis.opsForList();
const length = ops.size('myList');
注意:
- 参数
key
必须为字符串类型。
leftPush
将一个元素插入到列表的头部。
javascript
opsForList.leftPush(key, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
value | Object | 要插入的元素 |
返回值
返回插入后列表的长度。
示例
javascript
const ops = informat.redis.opsForList();
const length = ops.leftPush('myList', 'element');
注意:
- 参数
key
必须为字符串类型,value
可以为任意类型。
leftPushAll
将多个元素插入到列表的头部。
javascript
opsForList.leftPushAll(key, values)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
values | Array<Object> | 要插入的元素数组 |
返回值
返回插入后列表的长度。
示例
javascript
const ops = informat.redis.opsForList();
const length = ops.leftPushAll('myList', ['element1', 'element2']);
注意:
- 参数
key
必须为字符串类型,values
必须为数组类型,且数组元素可以为任意类型。
leftPushIfPresent
将一个元素插入到列表的头部,仅当列表存在时。
javascript
opsForList.leftPushIfPresent(key, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
value | Object | 要插入的元素 |
返回值
返回插入后列表的长度,如果列表不存在则返回 0。
示例
javascript
const ops = informat.redis.opsForList();
const length = ops.leftPushIfPresent('myList', 'element');
注意:
- 参数
key
必须为字符串类型,value
可以为任意类型。
rightPush
将一个元素插入到列表的尾部。
javascript
opsForList.rightPush(key, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表的键 |
value | Object | 要插入的元素 |
返回值
返回插入后列表的长度。
示例
javascript
const ops = informat.redis.opsForList();
const length = ops.rightPush('myList', 'element');
注意:
- 参数
key
必须为字符串类型,value
可以为任意类型。
好的,以下是根据你提供的 Redis 中 opsForList
方法的详细说明文档:
rightPushAll
将所有指定的值插入到存于 key 的列表的尾部
javascript
opsForList.rightPushAll(key, values)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
values | Array<String> | 要插入的值的数组 |
返回值
返回插入操作后列表的长度。
示例
javascript
const opsForList = informat.redis.opsForList();
const length = opsForList.rightPushAll('myList', ['value1', 'value2', 'value3']);
注意:
- 参数 key 必须为字符串类型,values 必须为数组类型且数组元素必须为字符串类型。
rightPushIfPresent
仅当列表存在时才将值插入到列表的尾部
javascript
opsForList.rightPushIfPresent(key, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
value | String | 要插入的值 |
返回值
返回插入操作后列表的长度,如果列表不存在则返回 0。
示例
javascript
const opsForList = informat.redis.opsForList();
const length = opsForList.rightPushIfPresent('myList', 'value1');
注意:
- 参数 key 和 value 必须为字符串类型。
set
将列表 key 下标为 index 的元素的值设置为 value
javascript
opsForList.set(key, index, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
index | Integer | 列表的下标 |
value | String | 要设置的值 |
返回值
无返回值。
示例
javascript
const opsForList = informat.redis.opsForList();
opsForList.set('myList', 1, 'newValue');
注意:
- 参数 key 必须为字符串类型,index 必须为数字类型,value 必须为字符串类型。
index
获取列表 key 下标为 index 的元素的值
javascript
opsForList.index(key, index)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
index | Integer | 列表的下标 |
返回值
返回列表中下标为 index 的元素的值,如果 index 超出范围则返回 null。
示例
javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.index('myList', 1);
注意:
- 参数 key 必须为字符串类型,index 必须为数字类型。
indexOf
获取列表中指定值的下标
javascript
opsForList.indexOf(key, value)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
value | String | 要查找的值 |
返回值
返回列表中指定值的下标,如果值不存在则返回 -1。
示例
javascript
const opsForList = informat.redis.opsForList();
const index = opsForList.indexOf('myList', 'value1');
注意:
- 参数 key 和 value 必须为字符串类型。
leftPop
移除并返回列表 key 的头元素
javascript
opsForList.leftPop(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
返回值
返回列表的头元素,如果列表为空则返回 null。
示例
javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.leftPop('myList');
注意:
- 参数 key 必须为字符串类型。
rightPop
移除并返回列表 key 的尾元素
javascript
opsForList.rightPop(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 列表对应的 key |
返回值
返回列表的尾元素,如果列表为空则返回 null。
示例
javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.rightPop('myList');
注意:
- 参数 key 必须为字符串类型。
rightPopAndLeftPush
从列表 sourceKey 的尾部弹出一个值,并将该值推入到列表 destinationKey 的头部
javascript
opsForList.rightPopAndLeftPush(sourceKey, destinationKey)
参数 | 类型 | 描述 |
---|---|---|
sourceKey | String | 源列表对应的 key |
destinationKey | String | 目标列表对应的 key |
返回值
返回从源列表弹出的值,如果源列表为空则返回 null。
示例
javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.rightPopAndLeftPush('sourceList', 'destinationList');
注意:
- 参数 sourceKey 和 destinationKey 必须为字符串类型。
delete
删除指定 key 的值
javascript
informat.redis.delete(key)
参数 | 类型 | 描述 |
---|---|---|
key | String | 要删除的 key |
返回值
返回删除操作的结果,成功返回 true,失败返回 false。
示例
javascript
informat.redis.delete('key1');
注意:
- 参数 key 必须为字符串类型。该方法适用于删除单个 key 的场景。
deleteAll
删除指定 key 组的所有值
javascript
informat.redis.deleteAll(keys)
参数 | 类型 | 描述 |
---|---|---|
keys | Array<String> | 要删除的 key 组 |
返回值
返回删除操作的结果数组,成功返回 true,失败返回 false。
示例
javascript
informat.redis.deleteAll(['key1', 'key2', 'key3']);
注意:
- 参数 keys 必须为数组类型,且数组元素必须为字符串类型。该方法适用于批量删除 key 的场景。
opsForGeo
获取地理位置操作对象
javascript
const geoOps = ops.opsForGeo()
返回值
返回一个地理位置操作对象,用于进行地理位置相关的操作。
示例
javascript
const ops = informat.redis.opsForList();
const geoOps = ops.opsForGeo();
注意:
- 该方法适用于需要进行地理位置操作的场景。
getRedisTemplate
获取 Redis 模板对象
javascript
const redisTemplate = ops.getRedisTemplate()
返回值
返回一个 Redis 模板对象,用于进行 Redis 操作。
示例
javascript
const ops = informat.redis.opsForList();
const redisTemplate = ops.getRedisTemplate();
注意:
- 该方法适用于需要直接操作 Redis 模板的场景。