<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//查看服务是否运行
echo "Server is running: " . $redis->ping();
?>

string(字符串)

  也就是键值对

 示例:$redis->set("tutorial-name", "Redis tutorial");

hash(哈希)

hSet()的语法格式是:$redis->hSet('hashTable','key','value'),给哈希表中某个 key 设置值.如果值已经存在, 返回 false 
hGet()的语法格式是:$redis->hGet('hashTable','key')获取hash对象的某个键的值,不存在时返回false
hSetNx()

当哈希表中不存在某 key 时,给该 key 设置一个值  返回值

  • BOOL: 成功返回 TRUE. 失败返回 FALSE.
  • hLen()的语法是:$redis->hLen('hashObject')哈表中 key 的数量
hDel()删除一个哈希 key.如果 hash 表不存在或对应的 key 不存在,返回 false
hKeys()获得哈希表中所有的 key 
hVals()获得哈希表中所有的值
hGetAll()获得一个哈希表中所有的 key 和 value
hExists() 检查哈希 key是否存在  
hIncrBy()给哈希表中某 key 增加一个整数值
例:
  1. $redis->hIncrBy('h', 'x', 2);
  2. $redis->hIncrBy('h', 'x', 1);

hIncrByFloat()给哈希表中某 key 增加一个浮点数值

hMSet()给哈希表设置多个 key 的值

  例:$redis->hMset('user:1', array('name' => 'Joe', 'salary' => 2000));

hMGet()获得哈希表中多个 key 的值

  例: 

  1. $redis->hSet('h', 'field1', 'value1');
  2. $redis->hSet('h', 'field2', 'value2');
  3. $redis->hmGet('h', array('field1', 'field2'));

  

list(列表)

lPush()的语法格式是:$redis->lPush(key, value),作用是将value添加到链表key的左边(头部)。

rPush()的语法格式是:$redis->rPush(key, value),作用是将value添加到链表key的右边(尾部)。

lPushx 将值value插入到列表key的表头,当且仅当key存在并且是一个列表。

rPushx 将值value插入到列表key的表尾,当且仅当key存在并且是一个列表。

lPop()的语法格式是:$redis->lPop(key),作用是将链表key的左边(头部)元素删除。

rPop()的语法格式是:$redis->rPop(key),作用是将链表key的右边(尾部)元素删除。

lSize()的语法格式是:$redis->lSize(key),作用是返回链表key中有多少个元素。

lGet()/lIndex()的语法格式是:$redis->lGet(key, index),作用是返回链表key的index位置的元素值。

lSet()的语法格式是:$redis->lSet(key, index, value),作用是将链表key的index位置的元素值设为value。

lRange()/lGetRange()的语法格式是:$redis->lRange(key, start, end),作用是返回链表key中start到end位置间的元素。end为-1时,返回所有元素

lTrim()/listTrim()的语法格式是:$redis->lTrim(key, start, end),作用是截取链表key中start到end位置间的元素。

lRem()的语法格式是:$redis->lRem(key, value, count),作用是删除链表key中|count|个值为value的元素。count为0,则删除所有value;count大于0,则从头到尾删除,count小于0,则从尾至头删除

  

set(集合)


sAdd()的语法格式是:$redis->sAdd('key' , 'member')添加一个VALUE到SET容器中,如果这个VALUE已经存在于SET中,那么返回FLASE。 如果set集合已存在则进行追加元素
  例:
  1. $redis->sAdd('key1' , 'member1'); /* TRUE, 'key1' => {'member1'} */
  2. $redis->sAdd('key1' , 'member2'); /* TRUE, 'key1' => {'member1', 'member2'}*/
  3. $redis->sAdd('key1' , 'member2'); /* FALSE, 'key1' => {'member1', 'member2'}*/

sRem()的语法格式是:$redis->sRem('key','value')移除指定的VALUE从SET容器中 
  例:  
  1. $redis->sAdd('key1' , 'member1');
  2. $redis->sAdd('key1' , 'member2');
  3. $redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/
  4. $redis->sRem('key1', 'member2'); /* 'key1' => {'member1', 'member3'} */

sMove() 的语法是:$redis->sMove('key1','key2','value')将key1的value值移入key2中,如果不存在value则不执行任何操作,返回0,如果key2中已存在value,则只删除key1的value

  例:  

  1. $redis->sAdd('key1' , 'member11');
  2. $redis->sAdd('key1' , 'member12');
  3. $redis->sAdd('key1' , 'member13'); /* 'key1' => {'member11', 'member12', 'member13'}*/
  4. $redis->sAdd('key2' , 'member21');
  5. $redis->sAdd('key2' , 'member22'); /* 'key2' => {'member21', 'member22'}*/
  6. $redis->sMove('key1', 'key2', 'member13'); /* 'key1' =>  {'member11', 'member12'} *//* 'key2' =>  {'member21', 'member22', 'member13'} */

  sIsMember()的语法是:$redis->sIsMember('key','value')判断value是否是key的元素  

  1. $redis->sIsMember('key1', 'member1'); /* TRUE */
  2. $redis->sIsMember('key1', 'memberX'); /* FALSE */

sMembers()的语法是:$redis->sMembers('key')获取key的所有元素

   sCard()的语法是:$redis->sCard('key')获取key的元素个数

   sPop()的语法是: $redis->sPop('key')随机移除并返回key集合的一个元素

sInter()的语法是:$redis->sInter('key1','key2','key3'...)返回指定SETS集合的交集结果。如果只是指定了一个SET集合,那么返回该SET集合。如果在参数中有参数错误,那么则返回FLASE

sInterStore()的语法是:$redis->sInterStore('output','key1','key2'...)执行一个交集操作,并把结果存储到一个新的SET容器中。

sUnion()的语法是:$redis->sUnion('key1','key2')执行一个并集操作在N个SET容器之间,并返回结果。

sUnionStore()的语法是:$redis->sUnionStore('output','key1','key2'...)执行一个并集操作就和sUnion()一样,但是结果储存在第一个参数中。

sDiff()的语法是:$redis->sDiff('key1','key2') 执行差集操作在N个不同的SET容器之间,并返回结果。这个操作取得结果是第一个SET相对于其他参与计算的SET集合的差集。

sDiffStore()的语法是:$redis->sDiffStore('output','key1','key2')此命令等同于SDIFF,但它将结果保存到destination集合,而不是简单地返回结果集

zset(有序集合)

redis学习之数据类型的更多相关文章

  1. Redis 学习(二) —— 数据类型及操作

    Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...

  2. redis学习-sds数据类型

    今天开始了redis的学习,本来想直接从源码看起的,不过看到有篇对redis介绍的基础教程 <Redis 设计与实现(第一版)> 于是决定从这个开始入门. 1.数据类型定义 typedef ...

  3. Redis学习-string数据类型

    Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...

  4. Redis 学习之数据类型

    该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379  查看redis 是否启动成功 一.Stri ...

  5. redis学习笔记——数据类型

    对象处理机制 Redis 构建了自己的类型系统,这个系统的主要功能包括:• redisObject 对象.• 基于redisObject 对象的类型检查.• 基于redisObject 对象的显式多态 ...

  6. redis学习——day02_redis数据类型

    一.简介 Redis不仅仅是简单的key-value 存储器,同时也是一种data structures server.传统的key-value是指支持使用一个key字符串来索引value字符串的存储 ...

  7. Redis学习-list数据类型

    list类型是一个链表结构,主要功能有push,pop等.而且list是一个双向链表,可以通过相关操作进行集合的头部或者尾部添加,删除元素. lpush key string 在key对应的list的 ...

  8. Redis学习笔记——数据类型及操作

    数据操作 redis是key-value的数据,所以每个数据都是一个键值对 键的类型是字符串 值的类型分为五种: 字符串string 哈希hash 列表list 集合set 有序集合zset 数据操作 ...

  9. redis学习--Hashes数据类型

    本文转自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/19/2352932.html 一.概述: 我们可以将Redis中的Hashes类型 ...

  10. redis学习--String数据类型。

    本文摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/14/2349815.html 一.概述: 字符串类型是Redis中最为基础的数据存 ...

随机推荐

  1. React 与 Hooks 如何使用 TypeScript 书写类型?

    React 与 Hooks 如何使用 TypeScript 书写类型? 本文写于 2020 年 9 月 20 日 函数组件与 TS 对于 Hooks 来说是不支持使用 class 组件的. 如何在函数 ...

  2. MyBatisPlus详解

    1.MyBatisPlus概述 需要的基础:MyBatis.Spring.SpringMVC 为什么要学习?MyBatisPlus可以节省我们大量工作时间,所有的CRUD代码它都可以自动化完成! 简介 ...

  3. 好客租房44-react组件基础综合案例-5发表评论-1

    发表评论 1给按钮绑定点击事件 2在事件处理程序中 通过state获取评论信息 3将评论信息添加到state中 并调用setState()方法更新数据 //导入react import React f ...

  4. requests入门

    1.通过GET请求获得搜索结果的网页源代码 import requests name=input("请输入想要搜索的明星:") url=f'https://www.sogou.co ...

  5. bind-utils-测试域名解析

    bind-utils是一个网络管理类工具集,其集成了我们常用的命令"nslookup",我们可以使用诊断域名解析情况. 1.安装bind-utils [root@localhost ...

  6. 直观比较 popcount 的效率差异

    问题 求 \(\sum\limits_{i=1}^{3\times 10^8} popcount(i)\) . 仅考虑在暴力做法下的效率. 枚举位 __builtin_popcount #includ ...

  7. 从数字化概念到落地,都说是一道坎,JNPF能为企业带来什么呢?​

    数字经济席卷全球推动产业转型是必然趋势,人类社会正在数字化大潮中发生深刻变革,数字化越来越成为推动经济社会发展的核心驱动力.企业正处于数字经济大潮的风口浪尖,故企业经验决策者应深刻认识数字化转型对于企 ...

  8. LVGL库入门教程02-基本控件与交互

    LVGL 本质上是一个 GUI 库,它包含大量的控件(widget),即按钮.标签.滑块.菜单栏这种具有一定人机交互特征的组合图形.LVGL 在设计时,采用了一定面向对象编程的设计思路,有效降低了代码 ...

  9. SAP Web Dynpro-监视应用程序

    您可以使用ABAP监视器来监视Web Dynpro应用程序. 存储有关Web Dynpro应用程序的信息. 您可以使用T代码-RZ20查看此信息. 您可以在Web Dynpro ABAP监视器中查看以 ...

  10. UiPath鼠标操作图像的介绍和使用

    一.鼠标(mouse)操作的介绍 模拟用户使用鼠标操作的一种行为,例如单击,双击,悬浮.根据作用对象的不同我们可以分为对元素的操作.对文本的操作和对图像的操作 二.鼠标对图像的操作在UiPath中的使 ...