Redis 几种应用场景

字符串缓存

<?php$redis = new Redis();$redis->connect('127.0.0.1',6379);$strKey = 'test';$strKey1 ='test1';//set$arrCache = ['name'=>'mysteryH','sex'=>'男','age'=>22];$redis->set($strKey,json_encode($arrCache));$redis->expire($strKey,300);//设置过期时间$json_data = $redis->get($strKey);$data = json_decode($json_data);print_r($data->name);//hset$arrWeb =['google'=>['google.com','google.com.hk']];$redis->hSet($strKey1,'google',json_encode($arrWeb['google']));$json_data = $redis->hGet($strKey1,'google');$data = json_decode($json_data);print_r($data);

简单消息队列

<?php$redis = new Redis();$redis->connect('127.0.0.1',6379);$strKey = 'queue';//进队$redis->rPush($strKey,json_encode(['id'=>1,'name'=>'name1']));$redis->rPush($strKey,json_encode(['id'=>2,'name'=>'name2']));$redis->rPush($strKey,json_encode(['id'=>3,'name'=>'name3']));$redis->rPush($strKey,json_encode(['id'=>4,'name'=>'name4']));echo "---进队成功---<br>";//查看队列$strCount = $redis->lRange($strKey,0,-1);echo "当前数据:";print_r($strCount);//出队$info = $redis->lPop($strKey);echo "<br>---".$info."---出队成功<br>";//查看队列$strCount = $redis->lRange($strKey,0,-1);echo "当前数据:";print_r($strCount);

发布订阅

发布:

<?phpini_set('default_socket_timeout',-1);$redis = new Redis();$redis->connect('127.0.0.1',6379);$strChannel = 'channel';$redis->publish($strChannel,"来自{$strChannel}的推送");echo "-------{$strChannel}-------消息推送成功";

订阅:

<?phpini_set('default_socket_timeout',-1);$redis = new Redis();$redis->connect('127.0.0.1',6379);$strChannel = 'channel';//订阅echo "等待-------{$strChannel}-------消息推送";$redis->subscribe([$strChannel],'callback');function callback($instance, $channelName, $message){echo $message;}

排行榜

<?php$redis = new Redis();$redis->connect('127.0.0.1',6379);$strKey = 'rank';$redis->zAdd($strKey,'50',json_encode(['name'=>'name1']));$redis->zAdd($strKey,'100',json_encode(['name'=>'name2']));$redis->zAdd($strKey,'20',json_encode(['name'=>'name3']));$redis->zAdd($strKey,'60',json_encode(['name'=>'name4']));$redis->zAdd($strKey,'40',json_encode(['name'=>'name5']));$redis->zAdd($strKey,'80',json_encode(['name'=>'name6']));$data1 = $redis->zRevRange($strKey,0,-1,true);echo "从大到小排序:<br>";print_r($data1);$data2 = $redis->zRange($strKey,0,-1,true);echo "从小到大排序:<br>";print_r($data2);

Redis 几种应用场景相关推荐

  1. redis五种数据类型的应用场景_Redis五种不同的数据类型

    一.redis集群测试环境搭建 参考文章:https://www.jianshu.com/p/0a2f8f80983a redis-cli -c -h 10.96.87.129 -p 7001注意:- ...

  2. Redis五种数据结构应用场景

    文章目录 前言 二.字符串String 2.1.常用操作 2.2.应用场景 2.2.1.单值缓存(最常用) 2.2.2.对象缓存 2.2.3.分布式锁 2.2.4.计数器 三.哈希hash 3.1.常 ...

  3. Redis五种数据类型及应用场景

    Redis五种数据类型及应用场景 MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样 ...

  4. Redis八种数据类型及应用场景介绍

    本文来说下Redis八种数据类型及应用场景介绍 文章目录 概述 String 介绍 应用场景 Hash 介绍 应用场景 List 介绍 应用场景 Set 介绍 应用场景 ZSet 介绍 应用场景 Bi ...

  5. redis五种数据类型的使用场景

    string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  6. 2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景

    作者:小林coding 计算机八股文网(操作系统.计算机网络.计算机组成.MySQL.Redis):https://xiaolincoding.com 大家好,我是小林. 我们都知道 Redis 提供 ...

  7. Redis五种数据类型应用场景详解(超级详细版)

    目录 NoSQL:一类新出现的数据库(not only sql) 特征 NoSQL和SQL数据库的比较: 电商场景解决方案 Redis简介 Redis特性 Redis 优势 Redis应用场景 官方文 ...

  8. Redis五种数据结构及其使用场景

    Redis五种数据结构及其使用场景 先有个概念,redis 数据库其实就是一个大的 map,它容纳了所有的 key, key 都是 string 类型,而 value 则有 string, list, ...

  9. 万字长文的Redis五种数据结构详解(理论+实战),建议收藏。

    本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西一定要一点一点的吃透它. 关于Redis的文章之前也写过三篇,阅读量和读者的反映都还 ...

最新文章

  1. 在线人员统计系统php,PHP统计当前在线人数 - 案例源码
  2. 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)
  3. Python编程系列教程第13讲——隐藏数据和封装
  4. 交叉验证中n_jobs=-1并行运算
  5. 数据结构与算法之排序(归纳总结三)
  6. ApacheCN Linux 译文集(二) 20211206 更新
  7. 【2】puppet笔记 - package、service、user资源
  8. linux生成ssl证书给haproxy,如何为多个SSL证书配置HAProxy
  9. 移动通信学习笔记03_蜂窝原理
  10. linux下更新pip3
  11. docker上安装多个mysql_docker:安装mysql多个
  12. 超级漂亮炫酷的HTML菜单栏导航栏+网站+独特二级列表
  13. JavaScript基础小节——手写重点整理02
  14. HUAWEI 机试题:英文输入法单词联想
  15. 【计算机视觉】深度相机(七)--体感设备对比
  16. Photoshop入门与进阶实例:3.3 乳胶漆纹理效果
  17. FME中的栅格数据操作之一——转换器小结
  18. 实用常识 | 将PDF文件页面拆分成两个页面(老白嫖怪了)
  19. pytest之Monkeypatching(猴子补丁)
  20. 朴素贝叶斯分类、半朴素贝叶斯分类算法

热门文章

  1. python画二次函数图像的顶点_画二次函数图像的步骤
  2. linux中自动挂载脚本,LIUNX一键自动挂载脚本,宝塔磁盘LIUNX一键分区磁盘 | 帮助信息-动天数据...
  3. python 主要内容,介绍一些有关python的重要内容
  4. python教授_Python为何如此优秀?斯坦福教授告诉你!
  5. java正则表达式判断手机号_正则表达式学习之简单手机号和邮箱练习
  6. 9月份计算机应用基础统考,2018年9月计算机应用基础统考题库-网考计算机应用基础真题1...
  7. 李宏毅机器学习课程11~~~为何要深?
  8. 在linux设置回收站 - 防止失误操作造成数据清空,并定期清理
  9. 第96:SVM简介与简单应用
  10. 更新 hadoop eclipse 插件