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);

过期时间(ttl,pttl)

// 当 key 不存在时,返回 -2 。当 key没有设置剩余生存时间时,返回 -1 。 否则,返回 key 的剩余生存时间,以秒为单位
$redis->ttl('view_num');
// 当 key 不存在时,返回 -2 。当 key没有设置剩余生存时间时,返回 -1 。 否则,返回 key 的剩余生存时间,以毫秒为单位
$redis->pttl('view_num');

移除过期时间(persist)

// 移除给定 key 的过期时间,使 key 永不过期
$redis->PERSIST('view_num');

随机返回一个 key(randomkey)

$redis->randomkey();

删除(del,delete)

// del 数组批量删除,返回删除个数;delete同del
$redis->del('name','age');
注:原子性

所谓原子操作是指不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到结束,中阿金不会有任何 context witch(切换到另一个线程).

(1)在单线程中,能够在单条指令中完成的操作都可以认为是“原子操作”,因为中断只能发生于指令之间。

(2)在多线程中,不能被其它进程(线程)打算的操作叫原子操作。

Redis 单命令的原子性主要得益于 Redis 的单线程

PHP Redis - String (字符串)的更多相关文章

  1. C#操作Redis String字符串

    /// <summary> /// Redis String 操作 /// </summary> public static void Redis_String() { Red ...

  2. redis:string字符串类型的操作

    1. string字符串类型的操作: 1.1. set 设置单个值 语法:set key value [EX seconds] [PX milliseconds] [NX|XX] 注: EX seco ...

  3. Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串

    一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...

  4. PHP操作redis之String(字符串)、List(列表)(一)

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久 ...

  5. Redis操作字符串工具类封装,Redis工具类封装

    Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...

  6. python之Redis的字符串类型操作

    redis的数据类型: 字符串型    哈希     列表     集合     有序集合 1.String(字符串类型) set  命令:   设置一个键和值,键存在则只覆盖,返回ok > s ...

  7. 【Redis面试题】Redis的字符串是怎么实现的?

    年前本人在找工作面试时在Redis相关问题上可栽了跟头.在面试前按常规套路准备了一下,比如 Redis 的常用5种数据结构,Redis持久化策略,Redis实现分布式锁,简单发布订阅等等都准备了,当时 ...

  8. 理解 Redis(3) - 字符串值

    正如前面所讲的, redis 的数据结构就是一系列的键值对键 -> printable ASCII (可打印的 ASCII 码, 最大值是 512MB)值 -> Primitives (基 ...

  9. [置顶] Redis String类型数据常用的16条命令总结

    Redis String类型数据常用的16条命令总结 描述:String 类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比 ...

  10. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

随机推荐

  1. 【PS】PS如何扩展画布?

    [PS]PS如何扩展画布? 选择裁剪,拉伸图片 选择上方工具栏的勾 即可扩展图片

  2. 接口测试工具POSTMAN的使用

    接口测试工具postman python ------------------------------------ 作为后端,写好了接口,我们自己要测试通过,再给别人用 --------------- ...

  3. Using Yocto Project with BeagleBone Black 英文版、Using Yocto Project with BeagleBone Black中文版

    Using Yocto Project with BeagleBone Black  手册英文版.中文版 https://market.m.taobao.com/app/idleFish-F2e/wi ...

  4. HybridCLR热更新方案

    Hybrid指的是混合开发,CLR指的是公共语言运行库(Common Language Runtime)->托管代码执行核心中的引擎.前身叫做huatuo git示例项目地址为https://g ...

  5. linux命令测试中运行

      1.1 scp 命令-拷贝文件 scp local_file remote_username@remote_ip:remote_folder eg : scp G96S.Z.16m root@19 ...

  6. 四、配置docker MySQL 修改编码,支持 utf8mb4

    docker 获取 mysql 5.7 版本的镜像. 将docker 里面的 3306 端口映射出来,否则虚拟机外,可能无法访问, 创建 docker 镜像 docker run -itd -p 33 ...

  7. Unit mysqld.service could not be found.

    具体命令 service mysqld status systemctl status mysqld 结果 Unit mysqld.service could not be found. 查看mysq ...

  8. vue cli 项目初始化配置

  9. Chtholly Tree 学习笔记

    前言 珂朵莉树 (Chtholly Tree) 是一种简单优美的数据结构,就像 Chtholly 一样可爱.暴力即优美. 适用于一些有区间赋值操作的序列操作题. Chtholly Tree 的本质是把 ...

  10. 供配电一次测 PT柜 解释

    文章来源: PT柜_百度百科 (baidu.com)  视频介绍 很多电工不清楚的高压PT柜,老电工带你了解工作原理和作用_搜狐汽车_搜狐网 (sohu.com) 很多电工怕PT柜,今天电气成套设计实 ...