Setnx (SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值
-
Setnx redis命令
SETNX KEY_NAME VALUE
// 测试框架 Lumen 7.x
// SETNX KEY_NAME VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('setnx', [
'weather', // KEY_NAME
123 // VALUE
]);
// or 使用下面形式设置
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->setnx('weather', 123);
// 返回值$return 布尔值 设置成功返回 true, 设置失败返回 false
Msetnx 所有给定 key 都不存在时,同时设置一个或多个 key-value 对
-
msernx redis命令
MSETNX key1 value1 key2 value2 .. keyN valueN
// 如果设置其中有一个key存在那么全部都不会设置成功
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('msetnx', [
[
's1' => 's1',
's2' => 's2',
// 'as' => 'as',
]
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->msetnx( [
// 's1' => 's1',
// 's2' => 's2',
// 'as' => 'as',
//]);
// 返回值设置成功true 设置失败false
SetEx 命令为指定的 key 设置值及其过期时间
- 如果 key 已经存在, SETEX 命令将会替换旧的值和过期时间
-
setex redis命令
SETEX KEY_NAME TIMEOUT VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('setex', [
's1', // KEY_NAME
60, // 过期时间(TIMEOUT)
'adasd' // vaule
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->setex('s1', 60, 'adasd');
// 返回值$return 布尔值 设置成功返回 true 设置失败返回 false
Psetex 以毫秒为单位设置 key 的生存时间
- 和 SETEX 命令相似
-
psetex redis命令
PSETEX key1 EXPIRY_IN_MILLISECONDS value1
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('psetex', [
'num1', 20000, 856
]);
// or
$return = \Illuminate\Support\Facades\Redis::connection('expired')->psetex('num1', 20000, 856);
// 返回值$return 布尔值 设置成功返回 true 设置失败返回 false
GetRange 获取存储在指定 key 中字符串的子字符串
- 字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)
-
getrange redis命令
GETRANGE KEY_NAME start end
// weather 在redis保存的值是 123 0=>1、1=>2、2=>3
$a = \Illuminate\Support\Facades\Redis::connection('expired')->command('getrange', [
'weather', // key
1, // start
2 // end
]); // 23
// or
// \Illuminate\Support\Facades\Redis::connection('expired')->getrange('weather', 1, 2);
// 如果key不存在 或者偏移量不在字符串范围 都返回空串 ""
Setrange
- 用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始
-
setrange redis命令
SETRANGE KEY_NAME OFFSET VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('setrange', [
'as', 1, 'ccccc'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->setrange('as', 1, 'ccccc');
// 返回值返回替换后字符串的长度 失败返回false
Set 设置给定 key 的值
- 如果 key 已经存储其他值, SET 就覆写旧值,且无视类型
-
set redis命令
SET KEY_NAME VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('set', [
'as', '56789'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->set('as', '56789');
// 返回值$return返回布尔值 成功返回true 失败返回false
Mset 同时设置一个或多个 key-value
- 如果设置key已存在直接覆盖
-
mset redis命令
MSET key1 value1 key2 value2 .. keyN valueN
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('mset',
[
['s1' => '60', 'adasd' => '56'] // 设置key1 => value1
]
);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->mset([
// 's1' => '61', 'adasd' => '57'
// ]);
// 返回值$return返回布尔值 成功返回true 失败返回false
Get 获取指定 key 的值
- 如果key 储存的值不是字符串类型,返回一个错误
-
get redis命令
GET KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('get', [
'as' // KEY_NAME
]);
// or
$return = \Illuminate\Support\Facades\Redis::connection('expired')->get('as');
// 返回值$return返回布尔值 成功返回redis存储值 失败返回false
Mget 返回所有(一个或多个)给定 key 的值
- 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil php里返回false
-
mget redis命令
MGET KEY1 KEY2 .. KEYN
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('mget', [
['num', 'as','ssss']
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->mget(['num', 'as','ssss']);
// 返回值["-28", "56789", null] 不存在的key返回null 失败时返回false
Decr 将 key 中储存的数字值减一
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作
-
decr redis命令
DECR KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('decr', ['num']);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->decr('num');
// 返回值 成功返回当前被减一在redis里保存的数 失败返回false 会被减成负数
Decrby key 所储存的值减去给定的减量值
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作
-
decrby redis命令
DECRBY KEY_NAME DECREMENT_AMOUNT
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('decrby', ['num', 5]);
// or
$return = \Illuminate\Support\Facades\Redis::connection('expired')->decrby('num', 10);
// 返回值 成功返回当前被减一在redis里保存的数 失败返回false 会被减成负数
Strlen 获取指定 key 所储存的字符串值的长度
-
strlen redis命令
STRLEN KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('strlen', [
'num'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->strlen('num');
// 失败返回false 成功返回长度 -29 返回 3
Incr 将 key 中储存的数字值增一
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作
-
incr redis命令
INCR KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('incr', ['num']);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->incr('num');
// 修改成功返回修改后redis里存储的值 否则返回false
Incrby 将 key 中储存的数字加上指定的增量值
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令
-
incrby redis命令
INCRBY KEY_NAME INCR_AMOUNT
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('incrby', ['num', 10]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->incrby('num', 2);
// 修改成功返回修改后redis里存储的值 否则返回false
Incrbyfloat 为 key 中所储存的值加上指定的浮点数增量值
- 如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作
-
incrbyfloat redis命令
INCRBYFLOAT KEY_NAME INCR_AMOUNT
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('incrbyfloat', [
'num', 10.2
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->incrbyfloat('num', 2.3);
// 修改成功返回修改后redis里存储的值 否则返回false
Append 用于为指定的 key 追加值
- 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾
- 如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样
-
append redis命令
PPEND KEY_NAME NEW_VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('append', [
'as', '- ccccc'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->append('as', '- ccccc');
// 成功返回当前更改后redis里面的字符串长度 失败返回false
Setbit 用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
-
setbit redis命令
Setbit KEY_NAME OFFSET
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('setbit', [
'num', // Key
10086, // 设置第bit位
1 // 设置值 1
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->setbit('num', 10086, 1);
// 返回值 0 或者 1 偏移量原来储存的位
Getbit 对 key 所储存的字符串值,获取指定偏移量上的位(bit)
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('getbit', [
'num', 2
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->getbit( 'num', 2);
// 返回 字符串值指定偏移量上的位(bit)
// 当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0
网友评论