php redis 扩展类常用操作(2)- string

三、Redis 字符串相关操作

1. 设置指定 key 的值
// 成功返回 true, 失败时返回 false
$redis->set('key','value');  

// 等同于调用 setex, 设置 key1 的值为 value1 ,有效时间为10s
$redis->set('key1', 'value1', 10);

// 仅当key2不存在时,设置它的值为 value2; 有效时间为10s
$redis->set('key2', 'value2', ['nx', 'ex' => 10]);

// 仅当 key 存在时,设置它的值为 value3; 有效时间为1000毫秒
$redis->set('key', 'value3', ['xx', 'px' => 1000]);

// 设置 key 的值与过期时间,如果 key 存在,替换旧值
$redis->setex('key', 3600, 'today');

// 仅当 key 不存在时设置它的值; 成功返回true, 失败返回 false
$redis->setnx('key5', 'sun');

// 同设置一个或多个键值对
$res = $redis->mset([
    'key0' => 'value0',
    'key1' => 'value1'
]);
$redis->get('key0');
$redis->get('key1');


// setRange - 用 redis 替换 key 从指定偏移量开始的字符串值
$redis->set('key', 'hello word');
$redis->setRange('key', 6, 'redis'); //返回最新字符串长度
$redis->get('key'); // hello redis


// 同时设置一个或多个键值对,当且仅当所有键都不存在时生效; 成功返回 true,失败返回 false
$res = $redis->msetnx([
    'key7' => 'value7',
    'key8' => 'value8'
]);


// 设置 key9 的值为 value9 ,有效时间为 10000 毫秒
$redis->psetex('key9',10000, 'value9');


// 对 key 所存储的字符串值,设置或清除指定偏移量上的位(bit)
$redis->set('key', '*');
// ord("*") = 42 = 0x2f = "0010 1010"
// 将二进制位坐标 (从0开始, 从左向右) 5的位置设置为1
$redis->setBit('key', 5, 1);
// 同上,将“*”的二进制位坐标7的位置设为1
$redis->setBit('key', 7, 1);
// 最终 key 的值为 “/”, 十进制值为 47, 转换二进制为 0010 1111
$rs = $redis->get('key');

2. 获取指定 key 的值
// 成功时返回key的值,失败时返回 false
$redis->get('key');

// 截取 key中字符串的子字符串,截取范围是0~2;
// 成功时返回子字符串 val,失败时返回空字符串
$redis->getRange('key', 0,2);  

// 将 key 的值设为 newvalue, 并返回旧值; 
//如果 key不存在值,则将值设为newvalue 并返回false
$redis->getSet('key', 'newvalue');

// 用于对 key 所储存的字符串值,获取指定偏移量上的位(bit); (从左往右)
$redis->set('key', "\x7f"); // \x7f 转换二进制 0111 1111
$res = $redis->getBit('key', 0); // 返回0
$res = $redis->getBit('key', 1); // 返回1

// 获取所有给定 key 的值
$redis->mget([ 'key', 'key1', 'key2' ]);

3. 返回 key 值的长度
$redis->strlen('key6');
4. 将 key 所存储的数字值加上增量
// 加1
$redis->set('key10', 10);
$redis->incr('key10');
echo $redis->get('key10'); // 返回11

// 增加给定的增量值
$redis->incrBy('key10', 5);
echo $redis->get('key10'); // 返回16

// 加上给定的浮点增量值 
$redis->incrByFloat('key10', 0.5);
echo $redis->get('key10');  // 返回16.5

5. 将 key 所存储的数字值减1

注:key的值必须整数和字符串类型包含的纯数值,当它的值为浮点数、带数值的字符串时 返回原值

// 减1
$redis->set('key10', 16);
$redis->decr('key10');
echo $redis->get('key10') . "
"; // 减去给定的减量值 $redis->decrBy('key10', 5); echo $redis->get('key10') . "
";
6. 将指定的 value 追加到 key 所存储值的末尾
$redis->set('key', 'Hello');
$redis->append('key', ' world');
echo $redis->get('key'); //返回 Hello world

你可能感兴趣的:(php redis 扩展类常用操作(2)- string)