我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP Redis的运用篇(一)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP Redis的运用篇(一)

PHP Redis的运用篇(一)

从开始使用数据库MySQL、Oracle、SqlServer、SQLite等,后面接触到了Redis、MongoDB等非结构数据库,最初从网络上查了很多的资料,但是大多都是理论知识,对于刚入门的我来说完全在看天书,后面去看了官网代码结合项目的开发慢慢的熟悉起来,今天我分享几个常用的操作
(一)set和get的使用,简单存储和取出操作,但是set存入数据作为缓存并且缓存数据可以进行标识查询的时候,通过键值可以进行复杂的数据存储,并且数据具有类别区分

简单使用:

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(6); //选择 6号库    $value = array(        "id"  =>1,        "name"=>"test",        "age" =>15    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->set("test_key", $json);//取出数据    var_dump($redis->get("test_key"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

复杂使用:重点:注意set 的key值,采用的test🔑1 重点“:”这个英文下的冒号,这个冒号回把键值进行分类得到图上的数据分类,通过相应的分类我们进行数据筛选,这就实现了数据的缓存,这样就可以减少数据库的操作,解决大部分数据库大并发卡顿的问题

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(6); //选择 6号库    $value = array(        "id"  =>1,        "name"=>"test1",        "age" =>15    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->set("test:key:1", $json);    $value = array(        "id"  =>2,        "name"=>"test2",        "age" =>26    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->set("test:key:2", $json);    //取数据,重点:注意键值    var_dump($redis->get("test:key:2"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

(二)Rpush存储数据: 将数据插入到列表的尾部, 我个人一般存入json格式的数据进去,取出来在做转换。

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(5); //选择 5号库    $value = array(        "id"  =>1,        "name"=>"test",        "age" =>18    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->rPush("test_key", $json); //RPUSH 键值    echo "*******存入成功*********".PHP_EOL;}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

Lpop:取数据,配合Rpush使用,构成消息队列数据,取数据的规则,先存储的数据,先取出来(先进先出)并且移除取出的数据在Redis的存储(取出一条数据就删除这条的存储)

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(5); //选择 5号库    $value = array(        "id"  =>2,        "name"=>"test",        "age" =>22    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->rPush("test_key", $json); //RPUSH 键值    echo "*******存入成功*********".PHP_EOL;    //lPop取出数据    var_dump($redis->lPop("test_key"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

Rpop 取数据,和Lpop取数据相反,后面存进去的数据先取出来(先进后出),从列表数据的尾部开始取数据,并且删除取出存入尾部的数据

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(5); //选择 5号库    $value = array(        "id"  =>1,        "name"=>"test",        "age" =>11    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->rPush("test_key", $json); //RPUSH 键值    echo "*******存入成功*********".PHP_EOL;    //rPop取出数据    var_dump($redis->rPop("test_key"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

(三)Lpush:将数据插入到列表的头部,就是把数据插入到列表的第一列,和Rpush的存储数据插入数据位置相反,但是使用都是一样,取数据还是使用Lpop、Rpop来操作,就不介绍了

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(6); //选择 5号库    $value = array(        "id"  =>3,        "name"=>"test",        "age" =>14    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->lPush("test_key", $json); //RPUSH 键值    echo "*******存入成功*********".PHP_EOL;    //rPop取出数据    //var_dump($redis->rPop("test_key"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

(四)Keys: 获取指定db库里面键值,传入“*”获取指定库里面的所有键值,或者传入指定键值,判断是否存在

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(6); //选择 6号库    var_dump($redis->keys("*"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

(五)del: 删除键值,之前使用过delete,但是后面由于PHP版本,Redis版本等情况,导致有点问题,后续就没有使用了

//Redis初始化类if(extension_loaded('redis')) {    $redis = new \Redis();    $redis->connect("127.0.0.1", "6379");    $redis->auth("");    //Rpush    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库    $redis->select(6); //选择 6号库    $value = array(        "id"  =>1,        "name"=>"test1",        "age" =>15    );    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);    $redis->set("test_key", $json);    //删除    $redis->del("test_key");    //查询键值是否存在    var_dump($redis->keys("test_key"));}else{    echo "没有安装Redis扩展";}

在这里插入图片描述

今天先更新,后续更新二

来源地址:https://blog.csdn.net/qq_22183039/article/details/128789868

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP Redis的运用篇(一)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

redis缓存在php中怎么运用

正文Redis是一种高性能内存数据存储,提供快速访问、多种数据结构和消息传递功能。在PHP中使用Redis,可通过pecl扩展连接服务器。常见的缓存策略包括读取缓存、写入缓存、缓存失效。实战示例展示了如何使用Redis缓存、更新和设置过期时间。Redis还可用于消息队列、计数器和会话管理等其他用途。通过在PHP中实施Redis,可以提升Web应用程序性能并改善用户体验。
redis缓存在php中怎么运用
2024-04-12

一篇文章带你弄清楚Redis的精髓

Redis是一个开源的、支持网络、基于内存的键值对存储系统,它可以用作数据库、缓存和消息中间件。它支持多种数据类型,包括字符串、散列、列表、集合、位图等,拥有极快的读写速度,并且支持丰富的特性,如事务、持久化、复制、脚本、发布/订阅等。
2023-02-08

一篇文章快速搞懂Redis的慢查询分析

当Redis客户端出现请求超时的时候,需要检查该时间点是否有慢查询,从而分析出由于慢查询导致的命令级联阻塞。 什么是慢查询?慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下Redis命令执行的整个过程:发送命令命令排队命令
一篇文章快速搞懂Redis的慢查询分析
2017-09-13

一篇告诉你Comparator.comparing的使用

Comparator.comparing用处 很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理,使用java8新特性 //返回 对象集合以类属性一升序排序list.stream().so
2023-08-23

php redis的scan怎么用

这篇文章将为大家详细讲解有关php redis的scan怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在删除缓存的时候,我们在一些场景下需要批量删除,但不确定具体的key值,可通过匹配的方式进行查询
2023-06-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录