Skip to content

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)
参数类型描述
keyString要设置的key
valueString要设置的值
timeoutInteger选填,有效时间
redisTimeoutUnitRedisTimeoutUnit选填,时间单位

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)
参数类型描述
keyString要设置的key
valueString要设置的值
timeoutInteger选填,有效时间
redisTimeoutUnitRedisTimeoutUnit选填,时间单位

返回值

返回一个布尔值,表示是否成功设置值。

示例

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)
参数类型描述
keyString要设置的key
valueString要设置的值
timeoutInteger选填,过期时间
redisTimeoutUnitRedisTimeoutUnit选填,时间单位

返回值

返回一个布尔值,表示是否成功设置值。

示例

javascript
const ops = informat.redis.opsForValue();
const success = ops.setIfPresent('key1', 'value1', '5', 'MINUTES');

注意:

  • 参数 key 和 value 都必须为字符串类型。该方法适用于仅在键存在时设置值,可以用于更新已有的键值对。

multiSet

批量设置指定 key 的值

javascript
ops.multiSet(keyValuePairs)
参数类型描述
keyValuePairsObject要设置的键值对对象

返回值

无返回值。

示例

javascript
const ops = informat.redis.opsForValue();
ops.multiSet({ 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' });

注意:

  • 参数 keyValuePairs 必须为对象类型,且对象的键和值都必须为字符串类型。该方法适用于批量设置数据的场景,可以减少与 Redis 的通信次数,提高系统性能。

multiSetIfAbsent

仅当所有 key 都不存在时批量设置指定 key 的值

javascript
ops.multiSetIfAbsent(keyValuePairs)
参数类型描述
keyValuePairsObject要设置的键值对对象

返回值

返回一个布尔值,表示是否成功设置值。

示例

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)
参数类型描述
keyString要设置的key
valueString要设置的值的子字符串
offsetInteger子字符串的起始位置

返回值

无返回值。

示例

javascript
const ops = informat.redis.opsForValue();
ops.setRange('key1', 'value1', 2);

注意:

  • 参数 key 和 value 必须为字符串类型,offset 必须为数字类型。该方法适用于更新字符串的部分内容。

好的,下面是根据你提供的模板格式编写的各个方法的开发文档示例:

get

获取指定 key 的值

javascript
ops.get(key)
参数类型描述
keyString要获取的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)
参数类型描述
keyString要获取的key
timeoutInteger过期时间
redisTimeoutUnitRedisTimeoutUnit时间单位

返回值

返回 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)
参数类型描述
keyString要获取的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)
参数类型描述
keyString要获取的key
newValueString新的值

返回值

返回 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)
参数类型描述
keysArray<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)
参数类型描述
keyString要增加值的key

返回值

返回增加后的值。

示例

javascript
const ops = informat.redis.opsForValue();
const newValue = ops.increment('key1'); // 将 key1 的值加 1

注意:

  • 参数 key 必须为字符串类型。该方法适用于对数值类型的键值对进行自增操作。

decrement

将指定 key 的值减 1

javascript
ops.decrement(key)
参数类型描述
keyString要减少值的key

返回值

返回减少后的值。

示例

javascript
const ops = informat.redis.opsForValue();
const newValue = ops.decrement('key1'); // 将 key1 的值减 1

注意:

  • 参数 key 必须为字符串类型。该方法适用于对数值类型的键值对进行自减操作。

append

在指定 key 的值后追加字符串

javascript
ops.append(key, value)
参数类型描述
keyString要追加值的key
valueString要追加的字符串

返回值

返回追加后的值的长度。

示例

javascript
const ops = informat.redis.opsForValue();
const newLength = ops.append('key1', 'appendValue'); // 在 key1 的值后追加字符串 appendValue

注意:

  • 参数 key 和 value 都必须为字符串类型。该方法适用于对字符串类型的键值对进行追加操作。

size

获取指定 key 的值的大小(字节数)

javascript
ops.size(key)
参数类型描述
keyString要获取大小的 key

返回值

返回 key 对应值的大小(字节数),如果 key 不存在则返回 0。

示例

javascript
const ops = informat.redis.opsForValue();
const size = ops.size('myKey');

注意:

  • 参数 key 必须为字符串类型。该方法适用于需要获取存储值大小的场景。

setBit

设置指定 key 的值的某个位的值

javascript
ops.setBit(key, offset, value)
参数类型描述
keyString要设置位值的 key
offsetInteger要设置的位的偏移量(从 0 开始)
valueInteger要设置的位值(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)
参数类型描述
keyString要获取位值的 key
offsetInteger要获取的位的偏移量(从 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)
参数类型描述
keyString列表的键
startInteger起始位置
endInteger结束位置

返回值

返回指定范围内的元素列表。

示例

javascript
const ops = informat.redis.opsForList();
const elements = ops.range('myList', 0, -1);

注意:

  • 参数 key 必须为字符串类型,startend 必须为数字类型。startend 可以为负数,表示从列表末尾开始计数。

trim

修剪列表,只保留指定范围内的元素。

javascript
opsForList.trim(key, start, end)
参数类型描述
keyString列表的键
startInteger起始位置
endInteger结束位置

返回值

无返回值。

示例

javascript
const ops = informat.redis.opsForList();
ops.trim('myList', 1, 3);

注意:

  • 参数 key 必须为字符串类型,startend 必须为数字类型。startend 可以为负数,表示从列表末尾开始计数。

size

获取列表的长度。

javascript
opsForList.size(key)
参数类型描述
keyString列表的键

返回值

返回列表的长度。

示例

javascript
const ops = informat.redis.opsForList();
const length = ops.size('myList');

注意:

  • 参数 key 必须为字符串类型。

leftPush

将一个元素插入到列表的头部。

javascript
opsForList.leftPush(key, value)
参数类型描述
keyString列表的键
valueObject要插入的元素

返回值

返回插入后列表的长度。

示例

javascript
const ops = informat.redis.opsForList();
const length = ops.leftPush('myList', 'element');

注意:

  • 参数 key 必须为字符串类型,value 可以为任意类型。

leftPushAll

将多个元素插入到列表的头部。

javascript
opsForList.leftPushAll(key, values)
参数类型描述
keyString列表的键
valuesArray<Object>要插入的元素数组

返回值

返回插入后列表的长度。

示例

javascript
const ops = informat.redis.opsForList();
const length = ops.leftPushAll('myList', ['element1', 'element2']);

注意:

  • 参数 key 必须为字符串类型,values 必须为数组类型,且数组元素可以为任意类型。

leftPushIfPresent

将一个元素插入到列表的头部,仅当列表存在时。

javascript
opsForList.leftPushIfPresent(key, value)
参数类型描述
keyString列表的键
valueObject要插入的元素

返回值

返回插入后列表的长度,如果列表不存在则返回 0。

示例

javascript
const ops = informat.redis.opsForList();
const length = ops.leftPushIfPresent('myList', 'element');

注意:

  • 参数 key 必须为字符串类型,value 可以为任意类型。

rightPush

将一个元素插入到列表的尾部。

javascript
opsForList.rightPush(key, value)
参数类型描述
keyString列表的键
valueObject要插入的元素

返回值

返回插入后列表的长度。

示例

javascript
const ops = informat.redis.opsForList();
const length = ops.rightPush('myList', 'element');

注意:

  • 参数 key 必须为字符串类型,value 可以为任意类型。

好的,以下是根据你提供的 Redis 中 opsForList 方法的详细说明文档:

rightPushAll

将所有指定的值插入到存于 key 的列表的尾部

javascript
opsForList.rightPushAll(key, values)
参数类型描述
keyString列表对应的 key
valuesArray<String>要插入的值的数组

返回值

返回插入操作后列表的长度。

示例

javascript
const opsForList = informat.redis.opsForList();
const length = opsForList.rightPushAll('myList', ['value1', 'value2', 'value3']);

注意:

  • 参数 key 必须为字符串类型,values 必须为数组类型且数组元素必须为字符串类型。

rightPushIfPresent

仅当列表存在时才将值插入到列表的尾部

javascript
opsForList.rightPushIfPresent(key, value)
参数类型描述
keyString列表对应的 key
valueString要插入的值

返回值

返回插入操作后列表的长度,如果列表不存在则返回 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)
参数类型描述
keyString列表对应的 key
indexInteger列表的下标
valueString要设置的值

返回值

无返回值。

示例

javascript
const opsForList = informat.redis.opsForList();
opsForList.set('myList', 1, 'newValue');

注意:

  • 参数 key 必须为字符串类型,index 必须为数字类型,value 必须为字符串类型。

index

获取列表 key 下标为 index 的元素的值

javascript
opsForList.index(key, index)
参数类型描述
keyString列表对应的 key
indexInteger列表的下标

返回值

返回列表中下标为 index 的元素的值,如果 index 超出范围则返回 null。

示例

javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.index('myList', 1);

注意:

  • 参数 key 必须为字符串类型,index 必须为数字类型。

indexOf

获取列表中指定值的下标

javascript
opsForList.indexOf(key, value)
参数类型描述
keyString列表对应的 key
valueString要查找的值

返回值

返回列表中指定值的下标,如果值不存在则返回 -1。

示例

javascript
const opsForList = informat.redis.opsForList();
const index = opsForList.indexOf('myList', 'value1');

注意:

  • 参数 key 和 value 必须为字符串类型。

leftPop

移除并返回列表 key 的头元素

javascript
opsForList.leftPop(key)
参数类型描述
keyString列表对应的 key

返回值

返回列表的头元素,如果列表为空则返回 null。

示例

javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.leftPop('myList');

注意:

  • 参数 key 必须为字符串类型。

rightPop

移除并返回列表 key 的尾元素

javascript
opsForList.rightPop(key)
参数类型描述
keyString列表对应的 key

返回值

返回列表的尾元素,如果列表为空则返回 null。

示例

javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.rightPop('myList');

注意:

  • 参数 key 必须为字符串类型。

rightPopAndLeftPush

从列表 sourceKey 的尾部弹出一个值,并将该值推入到列表 destinationKey 的头部

javascript
opsForList.rightPopAndLeftPush(sourceKey, destinationKey)
参数类型描述
sourceKeyString源列表对应的 key
destinationKeyString目标列表对应的 key

返回值

返回从源列表弹出的值,如果源列表为空则返回 null。

示例

javascript
const opsForList = informat.redis.opsForList();
const value = opsForList.rightPopAndLeftPush('sourceList', 'destinationList');

注意:

  • 参数 sourceKey 和 destinationKey 必须为字符串类型。

delete

删除指定 key 的值

javascript
informat.redis.delete(key)
参数类型描述
keyString要删除的 key

返回值

返回删除操作的结果,成功返回 true,失败返回 false。

示例

javascript
informat.redis.delete('key1');

注意:

  • 参数 key 必须为字符串类型。该方法适用于删除单个 key 的场景。

deleteAll

删除指定 key 组的所有值

javascript
informat.redis.deleteAll(keys)
参数类型描述
keysArray<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 模板的场景。