<?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. WSL2+Docker+IDEA一站式开发调试

    WSL2+Docker+IDEA一站式开发调试 前言 ​ 我们知道,Docker是一个容器引擎:对于开发者来说,使用Dokcer容器部署各种开发需要的中间件(比如myql.redis)会非常简单方便: ...

  2. 实验二——以点类 Point 为基类设计圆类 Circle

    学习内容:以点类 Point 为基类设计圆类 Circle 示例代码: package 实验二; import java.util.Scanner; class Point{//父类Point pri ...

  3. MySQL数据库和Oracle数据库的区别

    Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...

  4. MongoDB 设置用户和密码

    每日一句 Zeal without knowledge is fire without light. 没有知识的热忱犹如火之无光. 给每个数据库设置单独的管理员 我们除了可以设置数据库的超级管理员以外 ...

  5. [算法学习] 换根dp

    换根dp 一般来说,我们做题的树都是默认 \(1\) 为根的.但是有些题目需要计算以每个节点为根时的内容. 朴素的暴力:以每个点 \(u\) 作为 \(root\) 暴力dfs下去,复杂度\(O(n^ ...

  6. 队列的java实现

    今天老师提出一个问题,就是如何用java实现队列呢?我在网上找了许多资料,发现java也是可以很轻松的实现队列. 如下代码: package com; import java.util.Collect ...

  7. Mysql优化基础之Explain工具

    字段解释 id:代表sql中查询语句的序列号,序列号越大则执行的优先级越高,序号一样谁在前谁先执行.id为null则最后执行 select_type:查询类型,表示当前被分析的sql语句的查询的复杂度 ...

  8. CabloyJS - GitHub Readme

    简体中文 | English CabloyJS CabloyJS是一款顶级NodeJS全栈业务开发框架, 基于KoaJS + EggJS + VueJS + Framework7 文档 官网 & ...

  9. ICDAR2013

    参考:https://www.cnblogs.com/dmyu/p/6483357.html以及博主相关文章等.

  10. 大功率超远距离lora无线数传电台,多级中继功能

    一.在无线通信领域,LoRa是目前市场最被看好的技术之一.随着新一代LoRa调制技术的升级,市场对LoRa技术的认知.认可逐步提高,基于LoRa调制技术开发的产品得到更广泛的应用.受益于其超低的接收灵 ...