字符串,用于存储变动少的信息

创建对象

$red = Red::create();

设置值

$red->set('name','张三');

设置有效期

$red->set('name','张三',60);

获取值

$name = $red->get('name');

获取ttl

$data = $red->ttl('name');

删除key

$data = $red->del('name');

获取keys值

$data = $red->keys('active_y_data*');

判断是否存在

$data = $red->exists('age');

队列,用于秒杀,消息队列

队列用于秒杀等场景

127.0.0.1:6379> lpush pid 1
(integer) 1
127.0.0.1:6379> lpush pid 2
(integer) 2
127.0.0.1:6379> lpush pid 3
(integer) 3
127.0.0.1:6379> lpush pid 4
(integer) 4
127.0.0.1:6379> lpop pid
"4"
127.0.0.1:6379> lpop pid
"3"
127.0.0.1:6379> lpop pid
"2"
127.0.0.1:6379> lpop pid
"1"
127.0.0.1:6379> lpop pid
(nil)

集合,用于标签,获取用户相同的标签,归类用户

集合没有顺序,不可重复,使用场景,如添加标签

127.0.0.1:6379> sadd names zhang
(integer) 1
127.0.0.1:6379> sadd names li
(integer) 1
127.0.0.1:6379> sadd names wang
(integer) 1
127.0.0.1:6379> spop names
"zhang"
127.0.0.1:6379> spop names
"wang"
127.0.0.1:6379> spop names
"li"
127.0.0.1:6379> spop names
(nil)

多个集合,可以求交集,求并集。

而hash,可以方便的操作用户的属性。value中又包含k-v键值对。

每一种类型,都有自己的使用场景,多试试,灵活运用,别只会使用字符串。

Hash 用于购物车功能,存储购物车商品及其数量信息

设置Hash值

$data = $red->hset('china:sq:cm','name','张三');

获取值

$data = $red->hget('china:sq:cm','name');

获取全部

$data = $red->hgetall('china:sq:cm');

获取keys

$data = $red->hkeys('china:sq:cm');

获取全部值

$data = $red->hvals('china:sq:cm');

获取长度

$data = $red->hlen('china:sq:cm');

删除,只能一个个删除

$data = $red->hdel('china:sq:cm','name');

巧妙的设置Key,巧妙的选择存储类型,是Redis的灵魂。

phpredis基本操作的更多相关文章

  1. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  2. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  3. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  4. linux下安装Redis以及phpredis模块

    一:redis的安装 1. 首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载 2. 通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作 3. ...

  5. 三、Redis基本操作——List

    小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...

  6. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  7. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  8. Linq查询基本操作

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...

  9. C++ map的基本操作和使用

    原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...

随机推荐

  1. vue style 的scoped 使用

    1 原理 vue 可以通过在 style标签添加scoped这个属性来控制 组件内的css作用域 <style scoped> @media (min-width: 250px) { .l ...

  2. Wisdom RESTClient支持自动化测试并可以生成API文档

    Wisdom REST Client V1.2 支持自动化测试RESTful API并生成精美的测试报告,同时基于历史数据自动生成精美的RESTful API文档. 工具地址:https://gith ...

  3. window JNI_CreateJavaVM启动java程序

    https://blog.csdn.net/earbao/article/details/51889605 #define _CRT_SECURE_NO_WARNINGS 1       #inclu ...

  4. pandas 应用

    类似vlookup import pandas as pd file = pd.read_csv('NIN411PF.CSV', encoding='ANSI') a = pd.DataFrame({ ...

  5. Spring Boot 2(一):Spring Boot 2.0新特性

    Spring Boot 2(一):Spring Boot 2.0新特性 Spring Boot依赖于Spring,而Spring Cloud又依赖于Spring Boot,因此Spring Boot2 ...

  6. spring boot log4j2与三方依赖库log4j冲突无法初始化问题解决方法

    因为从Spring Boot 1.4开始,spring boot就不支持log4j了,必须是log4j2或者logback,具体两者如何配置以及NDC的支持可以参考spring boot精华版. 这里 ...

  7. HELLO JAVA!

    从今天开始,我将不定期地更新自己在大学学习到的JAVA知识,欢迎大家一同前来观摩学习,如有纰漏还请多多赐教2018-09-1715:39:14

  8. 11: python中的轻量级定时任务调度库:schedule

    1.1 schedule 基本使用 1.schedule 介绍 1. 提到定时任务调度的时候,相信很多人会想到芹菜celery,要么就写个脚本塞到crontab中. 2. 不过,一个小的定时脚本,要用 ...

  9. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem E (Codeforces 831E) - 线段树 - 树状数组

    Vasily has a deck of cards consisting of n cards. There is an integer on each of the cards, this int ...

  10. ThreadPoolExecutor线程池

    为什么使用线程池: 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率. 2.线程并发数量过多,抢占系统资源从而导致阻塞. 3.对线程进行一些简单的管理. 在java ...