redis 的基本操作方法

1 redis 的连接 ://实例化redis

$redis = new Redis();

//连接

$redis->connect('127.0.0.1', 6379);

//检测是否连接成功

echo "Server is running: " . $redis->ping();

// 输出结果 Server is running: +PONG

2 redis 操作 Strng (字符串):// 设置一个字符串的值

$redis->set('cat', 111);

//获取一个字符串的值

echo $redis->get('cat'); // 111

// 重复set

$redis->set('cat', 222);

echo $redis->get('cat'); // 222

3 redis 操作 List (列表)://存储数据到列表中

$redis->lpush('list', 'html');

$redis->lpush('list', 'css');

$redis->lpush('list', 'php');

//获取列表中所有的值

$list = $redis->lrange('list', 0, -1);

print_r($list);echo '
';

// Array ( [0] => php [1] => css [2] => html )

//从右侧加入一个

$redis->rpush('list', 'mysql');

$list = $redis->lrange('list', 0, -1);

print_r($list);echo '
';

// Array ( [0] => php [1] => css [2] => html [3] => mysql )

//从左侧弹出一个

$redis->lpop('list');

$list = $redis->lrange('list', 0, -1);

print_r($list);echo '
';

// Array ( [0] => css [1] => html [2] => mysql )

//从右侧弹出一个

$redis->rpop('list');

$list = $redis->lrange('list', 0, -1);

print_r($list);echo '
';

// Array ( [0] => css [1] => html )

4 redis 操作 Hash (字典):<?php

//实例化redis

$redis = new Redis();

//连接

$redis->connect('127.0.0.1', 6379);

//字典

//给hash表中某个key设置value

//如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0

echo $redis->hset('hash', 'cat', 'cat');echo '
'; // 1

echo $redis->hset('hash', 'cat', 'cat');echo '
'; // 0

echo $redis->hset('hash', 'cat', 'cat1');echo '
'; // 0

echo $redis->hset('hash', 'dog', 'dog');echo '
'; // 1

echo $redis->hset('hash', 'bird', 'bird');echo '
'; // 1

echo $redis->hset('hash', 'monkey', 'monkey');echo '
'; // 1

//获取hash中某个key的值

echo $redis->hget('hash', 'cat');echo '
'; // cat1

//获取hash中所有的keys

$arr = $redis->hkeys('hash');

print_r($arr);echo '
';

// Array ( [0] => cat [1] => dog [2] => bird [3] => monkey )

//获取hash中所有的值 顺序是随机的

$arr = $redis->hvals('hash');

print_r($arr);echo '
';

// Array ( [0] => cat1 [1] => dog [2] => bird [3] => monkey )

//获取一个hash中所有的key和value 顺序是随机的

$arr = $redis->hgetall('hash');

print_r($arr);echo '
';

// Array ( [cat] => cat1 [dog] => dog [bird] => bird [monkey] => monkey )

//获取hash中key的数量

echo $redis->hlen('hash');echo '
';

// 4

//删除hash中一个key 如果表不存在或key不存在则返回false

echo $redis->hdel('hash', 'dog');echo '
';

var_dump($redis->hdel('hash', 'rabbit'));echo '
';

// 1

// int(0)

5 redis 操作 Set (集合):<?php

//实例化redis

$redis = new Redis();

//连接

$redis->connect('127.0.0.1', 6379);

//集合

// 添加一个元素

echo $redis->sadd('set', 'cat');echo '
'; // 1

echo $redis->sadd('set', 'cat');echo '
'; // 0

echo $redis->sadd('set', 'dog');echo '
'; // 1

echo $redis->sadd('set', 'rabbit');echo '
'; // 1

echo $redis->sadd('set', 'bear');echo '
'; // 1

echo $redis->sadd('set', 'horse');echo '
'; // 1

// 查看集合中所有的元素

$set = $redis->smembers('set');

print_r($set);echo '
';

// Array ( [0] => rabbit [1] => cat [2] => bear [3] => dog [4] => horse )

//删除集合中的value

echo $redis->srem('set', 'cat');echo '
'; // 1

var_dump($redis->srem('set', 'bird'));echo '
'; // int(0)

$set = $redis->smembers('set');

print_r($set);echo '
';

// Array ( [0] => dog [1] => rabbit [2] => horse [3] => bear )

//判断元素是否是set的成员

var_dump($redis->sismember('set', 'dog'));echo '
'; // bool(true)

var_dump($redis->sismember('set', 'bird'));echo '
'; // bool(false)

//查看集合中成员的数量

echo $redis->scard('set');echo '
'; // 4

//移除并返回集合中的一个随机元素(返回被移除的元素)

echo $redis->spop('set');echo '
'; // bear

print_r($redis->smembers('set'));echo '
';

// Array ( [0] => dog [1] => rabbit [2] => horse )

//实例化redis

$redis = new Redis();

//连接

$redis->connect('127.0.0.1', 6379);

//集合

$redis->sadd('set', 'horse');

$redis->sadd('set', 'cat');

$redis->sadd('set', 'dog');

$redis->sadd('set', 'bird');

$redis->sadd('set2', 'fish');

$redis->sadd('set2', 'dog');

$redis->sadd('set2', 'bird');

print_r($redis->smembers('set'));echo '
';

// Array ( [0] => cat [1] => dog [2] => bird [3] => horse )

print_r($redis->smembers('set2'));echo '
';

// Array ( [0] => bird [1] => dog [2] => fish )

//返回集合的交集

print_r($redis->sinter('set', 'set2'));echo '
';

// Array ( [0] => dog [1] => bird )

//执行交集操作 并结果放到一个集合中

$redis->sinterstore('output', 'set', 'set2');

print_r($redis->smembers('output'));echo '
';

// Array ( [0] => dog [1] => bird )

//返回集合的并集

print_r($redis->sunion('set', 'set2'));echo '
';

// Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )

//执行并集操作 并结果放到一个集合中

$redis->sunionstore('output', 'set', 'set2');

print_r($redis->smembers('output'));echo '
';

// Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )

//返回集合的差集

print_r($redis->sdiff('set', 'set2'));echo '
';

// Array ( [0] => horse [1] => cat )

//执行差集操作 并结果放到一个集合中

$redis->sdiffstore('output', 'set', 'set2');

print_r($redis->smembers('output'));echo '
';

// Array ( [0] => horse [1] => cat )

6 redis 操作 Sorted Set (有序集合):<?php

//实例化redis

$redis = new Redis();

//连接

$redis->connect('127.0.0.1', 6379);

//有序集合

//添加元素 分数

echo $redis->zadd('set', 1, 'cat');echo '
'; // 1

echo $redis->zadd('set', 2, 'dog');echo '
'; // 1

echo $redis->zadd('set', 3, 'fish');echo '
'; // 1

echo $redis->zadd('set', 4, 'dog');echo '
'; // 0

echo $redis->zadd('set', 4, 'bird');echo '
'; // 1

//返回集合中的所有元素

print_r($redis->zrange('set', 0, -1));echo '
';

// Array ( [0] => cat [1] => fish [2] => bird [3] => dog )

print_r($redis->zrange('set', 0, -1, true));echo '
';

// Array ( [cat] => 1 [fish] => 3 [bird] => 4 [dog] => 4 )

//返回元素的score值

echo $redis->zscore('set', 'dog');echo '
';

// 4

//返回存储的个数

echo $redis->zcard('set');echo '
';

// 4

//删除指定成员

$redis->zrem('set', 'cat');

print_r($redis->zrange('set', 0, -1));echo '
';

// Array ( [0] => fish [1] => bird [2] => dog )

//返回集合中介于min和max之间的值的个数

print_r($redis->zcount('set', 3, 5));echo '
';

// 3

//返回有序集合中score介于min和max之间的值

print_r($redis->zrangebyscore('set', 3, 5));echo '
';

// Array ( [0] => fish [1] => bird [2] => dog )

print_r($redis->zrangebyscore('set', 3, 5, ['withscores'=>true]));echo '
';

// Array ( [fish] => 3 [bird] => 4 [dog] => 4 )

//返回集合中指定区间内所有的值 倒叙

print_r($redis->zrevrange('set', 1, 2));echo '
';

// Array ( [0] => bird [1] => fish )

print_r($redis->zrevrange('set', 1, 2, true));echo '
';

// Array ( [bird] => 4 [fish] => 3 )

//有序集合中指定值的socre增加

echo $redis->zscore('set', 'dog');echo '
';

// 4

$redis->zincrby('set', 2, 'dog');

echo $redis->zscore('set', 'dog');echo '
';

// 6

//移除score值介于min和max之间的元素

print_r($redis->zrange('set', 0, -1, true));echo '
';

// Array ( [fish] => 3 [bird] => 4 [dog] => 6 )

print_r($redis->zremrangebyscore('set', 3, 4));echo '
';

// 2

print_r($redis->zrange('set', 0, -1, true));echo '
';

// Array ( [dog] => 6 )

//结果

相关推荐:《PHP教程》《Redis教程》

redis php方法,PHP操作Redis的基本方法相关推荐

  1. Windows下安装Redis及使用Python操作Redis的方法

    这篇文章主要介绍了Windows下安装Redis及使用Python操作Redis的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 首先说一下在Windows下安装Redis,安装包可以在htt ...

  2. Redis介绍 Java客户端操作Redis

    Redis介绍 && Java客户端操作Redis 本文内容 redis介绍 redis的 shell 客户端简介 redis的 java 客户端简介 环境配置 redis 2.8.1 ...

  3. Redis介绍 Java客户端操作Redis

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow Redis介绍 & ...

  4. python获取redis数据_Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  5. linux go redis,使用go来操作redis的方法示例

    Redis简单介绍 简介 关于Redis的讨论,其实在现在的后台开发中已经是个老生常谈的问题,基本上也是后端开发面试的基本考察点.其中 Redis的背景介绍和细节说明在这里就不赘述.不管怎么介绍,核心 ...

  6. python操作redis集群_python操作redis集群

    strictRedis对象方法用于连接redis 指定主机地址,port与服务器连接,默认db是0,redis默认数据库有16个,在配置文件中指定database 16 上代码 1.对redis的单实 ...

  7. redis工具类_SpringBoot 操作 Redis 数据

    SpringBoot 操作 Redis 数据 简介 Redis 是一个开源的NoSQL数据库,基于内存的键值存储,速度快.Redis 支持数据结构,如字符串,散列,列表,集和带范围查询的有序集. 5种 ...

  8. 高并发核心技术Redis系列(七)--------Jedis操作Redis

    目录 一.Jedis操作Redis 1.1 Cache Aside Pattern(缓存模式) 1.2 引入Jedis 1.3 常用方法 1. Jedis连接到redis 2. String 3. K ...

  9. Redis 笔记之 Java 操作 Redis(Jedis)

    Java 操作 Redis 环境准备 引入依赖 创建 jedis 对象 操作 Key 相关 API 操作 String 相关 API 操作 List 相关 API 操作 Set 的相关 API 操作 ...

最新文章

  1. 2009年上半年网络工程师考试下午试卷参考答案(一)
  2. 2017.04.02【NOIP 普及组】模拟赛C组 T1:区间
  3. 基本蚁群算法的C++源程序
  4. linux下Intellij Idea 14的安装
  5. android开发入门
  6. 【clickhouse】Port 9000 is for clickhouse-client program
  7. -------------初识----------动态规划。--------------------------------------------
  8. 引用次数在15000次以上的都是什么神仙论文?
  9. 网站域名https显示证书错误如何解决
  10. T00LS MSF笔记
  11. Camtasia Studio 录制视频保存为camrec格式后快速导出为AVI格式
  12. java echarts 柱形图数字显示在顶部
  13. vijos 清点人数
  14. 农业遥感技术科研成果汇总
  15. uva10410(dbl)
  16. 史上最全!每个程序员必须知道的学习网站!
  17. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)
  18. oracle 数据转换不报错,oracle数据库与hibernate方言转型异常
  19. 网易放大招?生存MMO手游明日之后开测,沙盒+大逃杀游戏你喜欢吗?
  20. cs230 deeplearning.ai 1: Standard NN

热门文章

  1. 魔力Python--if __name__ == '__main__' 的理解
  2. 访问数据库需要注意的问题 c#
  3. beta冲刺7-咸鱼
  4. Eclipse Debug不能热部署解决
  5. day4.编程语言简介
  6. [UI界面]-UIWindow
  7. 各種語系的unicode對應以及local編碼方式
  8. 52 - 算法 - LeetCode 21 数据结构链表 头插法 递归
  9. 动态参数 maven_Spring Security 动态url权限控制(三)
  10. 我这么认真地问问题,你为啥不回答???