string 是 Redis 最基本的类型,与Memcached类似,一个 key 对应一个 value
string 类型是二进制 安全的。这意味着 Redis 的 string 可以包含任何数据。比如图片或者序列化的对象。
一个 Redis 中字符串 value 最多可以是 512M
设置单个值(set)
$view_num = 'cs';// 如果需要存储非字符串类型,需要提前转换为字符串,获取时再进行转换
$redis->set('view_num', $view_num);
设置并指定过期时间(setex)
$redis->setex('view_num', 60, '23');
设置指定的 key-value (setnx)
// 指定的 key 不存在时,设置指定的值(setnx)
$redis->setnx('province','sz')
设置多个值(mSet)
// 同时设置一个或多个 key-value $redis->mset(['name'=>'test','age'=>21]);
先获取key值,再重新赋值(getSet)
// 先获取key值,再重新赋值,如 key存在 会返回之前的值,不存在返回 false
$redis->getset('name','test2');
获取 单个值 (get)
// 获取单个给定 key 的值
$name = $redis->get('name'); //获取 var_dump($name);
获取所查询键的值(mget)
// 获取所有(一个或多个)给定 key 的值。如果 key 不存在,返回 false
$redis->mget(['view_num','sss']);
增加(incr, incrBy)
// 都是操作数字,对数字进行增加的操作,incr 是执行原子加 1 操作,incrBy 是增加指定的数
$redis->incr('view_num'); //相当于 $view_num + 1 $redis->incrBy('view_num', 5); //相当于 $view_num + 5
减少(decr, decrBy)
// 都是操作数字,对数字进行减少的操作,decr 是执行原子减 1 操作,decrBy 是减少指定的数
$redis->decr('view_num'); // 相当于 $view_num - 1 $redis->decrBy('view_num', 5); //相当于 $view_num- 5
追加(append)
// 字符串后面追加元素,返回值是字符串的总长度 $length = $redis->append('view_num','位'); var_dump($length);
获取长度(strLen)
// 获取给定 key 值的 value 的长度
$length = $redis->strlen('view_num'); var_dump($length);
字符串截取(getRange)
// getRange(key,start,end) start:下标索引的开始位置,end:下标索引的结束位置 $redis->set('str', 'qwertyuixcvbnm'); $subStr = $redis->getRange('ID', 0, 5); var_dump($subStr);
删除(del,delete)
// del 数组批量删除,返回删除个数;delete同del $redis->del('name','age');
注:原子性 所谓原子操作是指不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到结束,中阿金不会有任何 context witch(切换到另一个线程). (1)在单线程中,能够在单条指令中完成的操作都可以认为是“原子操作”,因为中断只能发生于指令之间。 (2)在多线程中,不能被其它进程(线程)打算的操作叫原子操作。 Redis 单命令的原子性主要得益于 Redis 的单线程