连接redis

$redis = new Redis();
$redis->connect($host, $port);
$redis->auth('my pass'); //密码验证

常用方法

$redis->set('1','1',3600);
// 批量操作
$redis->pipeline(); // 开始批量操作
$redis->get("1");
$redis->incr("incr",2); // 自增2
$redis->expire('incr', 86400*20); // 设置key的过期时间
$data = $redis->redis->exec(); // 结束批量操作
var_dump($data[0]); // 获取批量操作第一个 get
var_dump($data[1]); // 获取批量操作第一个 incr
$redis->close(); // 关闭redis连接

集合相关方法

// 添加元素进入集合
$redis->sAdd('lm_template_set_num',1);
$redis->sAdd('lm_template_set_num',2);
$redis->sAdd('lm_template_set_num',3);
$redis->sAdd('lm_template_set_num',4);
$redis->sAdd('lm_template_set_num',5); // 删除集合中指定的元素值,1 成功,0删除失败
$r = $redis->sRem('lm_template_set_num',4);
var_dump($r); // 返回集合中元素的数量
$r = $redis->sCard('lm_template_set_num');
var_dump($r); // 移除并返回集合中的一个随机元素
$r = $redis->sPop('lm_template_set_num');
var_dump($r); // 返回集合中的一个随机元素。$num 随机取的个数
$r = $redis->sRandMember('lm_template_set_num',$num);
var_dump($r); // 判断成员元素是否是集合的成员。1 存在 0 不存在
$r = $redis->sIsMember('lm_template_set_num',1);
var_dump($r); // 获取集合中所有的元素
$r = $redis->sMembers('lm_template_set_num');
var_dump($r);

有序集合相关方法:

// 向有序集合添加一个或多个成员,或者更新已存在成员的分数
$redis->zAdd('lm_template_set_num',1 "one");
$redis->zAdd('lm_template_set_num',2 "two");
$redis->zAdd('lm_template_set_num',1 "three"); // 计算集合中元素的数量
$r = $redis->zCard('lm_template_set_num');
var_dump($r); // 计算在有序集合中指定区间分数的成员数
// 返回名称为key的zset中score >= star且score <= end的所有元素的个数
$r = $redis->zCount('lm_template_set_num',1,3);
var_dump($r); // 有序集合中对指定成员的分数加上增量 increment
$r = $redis->zIncrBy('lm_template_set_num',1,"three");
var_dump($r); // 通过索引区间返回有序集合成指定区间内的成员
$r = $redis->zRange('lm_template_set_num',0,-1); // 递增排列
$r = $redis->zRevRange('lm_template_set_num',0,-1); // 递减排列
var_dump($r); // 返回有序集合中指定成员的索引
$r = $redis->zRank('lm_template_set_num', "three"); // 从低到高 显示three 的排名
var_dump($r);
$r = $redis->zRevRank('lm_template_set_num', "three"); // 从高到低 显示three 的排名
var_dump($r); // 移除有序集合中的一个或多个成员
$r = $redis->zRem('lm_template_set_num', "three"); // 显示移除three
var_dump($r); // 返回有序集中,成员的分数值
$r = $redis->zScore('lm_template_set_num', "three");
var_dump($r);

列表

$key = 'lm_list';

// 将一个或多个值插入到列表头部
$redis->lPush($key,1); //将一个或多个值插入到已存在的列表头部 列表不存在时操作无效。
$redis->lPushx($key,1); // 在列表中添加一个或多个值
$redis->rPush($key,1); //为已存在的列表添加值 列表不存在时操作无效。
$redis->rPushx($key,1); //用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
$redis->lIndex($key,1); // 获取列表长度
$redis->lLen($key); // 移出并获取列表的第一个元素
$redis->lPop($key); //移除并获取列表最后一个元素
$redis->rPop($key); // 获取列表指定范围内的元素
$redis->lRange($key,0,-1); // 移除列表元素
$redis->lRem($key,1,0); // 通过索引设置列表元素的值
$redis->lSet($key,0,'bar');

哈希

$key = 'lm_hash';

// 添加元素进入哈希表中。
$redis->hSet($key,1,2); // 用于同时将多个 field-value (字段-值)对设置到哈希表中。
$redis->hMset($key,array(1=>1,2=>2,3=>3)); // 只有在字段 field 不存在时,设置哈希表字段的值。
$redis->hSetNx($key,1,2); // 返回哈希表中指定字段的值
$res = $redis->hGet($key,1);
print_r($res); // 返回哈希表中一个或多个给定字段的值
$res = $redis->hMGet($key,array(1,2));
print_r($res); // 返回哈希表中所有的字段和值
$res = $redis->hGetAll($key);
print_r($res); // 查看哈希表 key 中,指定的字段是否存在。
$redis->hExists($key,1); // 删除一个或多个哈希表字段
$redis->hDel($key,1); // 用于为哈希表中的字段值加上指定增量值。 增量也可以为负数,相当于对指定字段进行减法操作。
$res = $redis->hIncrBy($key,3,1);
print_r($res); // 用于为哈希表中的字段值加上指定浮点数增量值
$redis->hIncrByFloat($key,3,0.1); //用于获取哈希表中的所有字段名。
$res = $redis->hKeys($key);
print_r($res); // 获取哈希表中所有值
$res = $redis->hVals($key);
print_r($res); //用于获取哈希表中字段的数量。
$redis->hLen($key);

php链接redis (带密码)常用的redis方法的更多相关文章

  1. [redis]带密码的客户端连接方法

    客户端连接方法: redis-cli -h localhost -p 6380 提供host为localhost,端口为6380   带密码的客户端连接方法一: redis-cli -h localh ...

  2. Redis 密码设置 及 带密码访问

    转: Redis 密码设置 如果不加密码,默认只能本机访问,加密码也是为了安全考虑 1.进入Redis 的安装目录,找到redis.conf文件.用vi命令打开文件 输入  / requirepass ...

  3. redis 介绍和常用命令

    redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...

  4. redis配置密码认证,通过密码可以进行连接

    需求说明: 今天配置了一台redis服务器,想要也和其他的数据库一样配置用户名/密码的方式进行登录. 查找了一下,没看到配置用户名的地方,就是有认证密码,所以就做了测试,在此进行记录. 操作过程: 1 ...

  5. 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!

    转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208  版权声明:本文为博主 ...

  6. devilbox(三):在docker中启动带密码的redis数据库

    背景概述: 之前是使用docker搭建了一套集成的开发环境devilbox,也说了这个环境可以自定义.其实搭建这个环境一是为了练习docker使用,二是搭建我们测试环境,主要用到各种数据库,然而安装教 ...

  7. redis配置密码 redis常用命令

    redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy   #requi ...

  8. djang-celery使用带密码的redis

    前言: 网上很多django-celery使用redis(使用不带密码的redis)的用法都是千篇一律,那带密码的redis该怎么使用了呢,没有看到一篇有帮助的,在官网搜了下,发现以下用法,请看下面 ...

  9. redis集群访问,重启,关闭,带密码访问集群

    安装ruby后查找如下文件  vi  进去后编辑 此处编写自己的密码,重启后便可带密码访问集群 随便选择一个节点输入如下指令查看集群信息 正常关闭redis命令如下: 重启redis集群再次以相同的命 ...

  10. scrapy 如何链接有密码的redis scrapy-redis 设置redis 密码 scrapy-redis如何为redis配置密码

    # 使用scrapy_redis的调度器SCHEDULER = "scrapy_redis.scheduler.Scheduler"# 使用scrapy_redis的去重机制DUP ...

随机推荐

  1. 使用Flask搭建基于unittest的简单用例挑选及执行平台

    在用例组织上,unittest的Test Suite的拥有非常好的灵活性,然而Test Suite一般要提前编制好,添加和组织用例必须使用代码,不方便使用. 本文使用 Flask + unittest ...

  2. Pytest学习笔记(一) 环境安装及入门

    简介 pytest是python的一个单元测试框架,类似于unittest,相对unittest来说,pytest使用更简单,功能更强大. 安装 pip3 install -U pytest 查看版本 ...

  3. 【洛谷2053】 [SCOI2007]修车(费用流)

    传送门 洛谷 Solution 考虑把每一个修车工人拆成\(n\)个点,那么考虑令\(id(i,j)\)为第\(i\)个工人倒数第\(j\)次修车. 然后就可以直接跑费用流了!!! 代码实现 /* m ...

  4. solr系列之solr-5.5.5 window单机版jdk-1.7 tomcat8安装

    一.Solr5.5.5.Tomcat8-x64.jdk-1.7-64单机部署 1.准备安装包,下载solr和tomcat的安装,直接解压即可(上篇一提供solr的下载路径) 2.在Solr5之前都还存 ...

  5. mybatis 操作其他数据库的数据表

    配置文件里面配置的数据库只是默认数据库,并不是只能操作默认数据库.(被自己蠢死了,唉) 1. 注解方式 使用BaseMapper方式操作数据表时,在表对应的实体类上的 @table 注解描述表名时加上 ...

  6. Netfilter 之 五个钩子点

    概述 在协议栈的三层IPv4(IPv6还没看,不清楚)数据包的处理过程中,可能经过Netfilter的五个钩子点,分别为NF_INET_PRE_ROUTING.NF_INET_LOCAL_IN.NF_ ...

  7. 以下示例使用一个 x,y 坐标列表创建了一个多边形几何对象。然后使用裁剪工具来裁剪具有多边形几何对象的要素类。

    import arcpy # Create an Array object. # array = arcpy.Array() # List of coordinates. # coordList = ...

  8. 同源策略和Ajax跨域访问

    1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略.    何谓同源:        URL由协议.域名.端口和路径组成,如果两个URL的协议 ...

  9. Mac下持续集成-自动发送邮件

    找到下面这项填写邮件地址 注意下面绿色标记的邮箱要和上面的一致,否则会报错 如果两个绿色标记的邮箱不一致会报这样的错: ---------------------------------------- ...

  10. 前端知识点回顾——Nodejs

    Node.js 事件循环机制 setImmediate()是将事件插入到事件队列尾部,主线程和事件队列的函数执行完成之后立即执行setImmediate指定的回调函数,和setTimeout(fn,0 ...