当前位置:首页 > 日记 > 正文

PHP的方法和代码示例在redis哈希和zset型数据操作

PHP的方法和代码示例在redis哈希和zset型数据操作
以前的博客主要是字符串类型,列表类型和集合类型,下面的哈希类型和zset型

1、HSET

描述:该领域的哈希表中的键的值设置为值。如果不存在,一个新的哈希表创建和执行的HSET。如果哈希表中已经存在的领域,旧的值将被覆盖。

参数:键字段值

返回值:如果字段是哈希表中的一个新域,并且值设置成功,返回1。如果字段中的哈希表已经存在,旧值已经是新值,返回0。

2、hsetnx

描述:该领域的哈希表中的键的值设置为值,当且仅当域字段不存在。如果域字段已经存在,该操作是无效的。如果不存在,一个新的哈希表的创建和执行hsetnx命令。

参数:键字段值

返回值:设置成功,返回1。如果给定域已经存在且没有执行操作,返回0。

3、hget

描述:返回哈希表键中给定域字段的值。

参数:键字段

返回值:给定域的值。当给定域不存在或给定的键不存在时,返回0。

4、hmset

描述:在同一时间,多个字段值(域值)对设置哈希表的关键。这个命令会覆盖现有的域哈希表中的关键。如果不存在,一个空的哈希表的创建和执行hmset操作。

参数:键字段值{字段值…}

返回值:如果命令成功,返回OK。当键不是哈希表(hash)类型时,返回错误。

5、hmget

说明:返回一个或多个域的哈希表中的键的值。如果一个给定的域不在哈希表中存在,则无返回值。因为非存在的关键是视为一个空的哈希表,一个非的hmget操作返回一个表,只有存在的关键无价值的。

参数:键字段{…}

返回值:包含多个给定域相关值的表,表值的顺序与给定域参数的请求顺序相同。

6、hgetall

描述:返回哈希表键中的所有字段和值。在返回值中,域(值)的值后面是每个域名(字段名),因此返回值的长度是哈希表大小的两倍。

关键参数:

返回值:以列表的形式返回哈希表的域和域的值。如果键不存在,返回空列表。

7、HDEL

说明:删除哈希表键中的一个或多个指定域,不存在的域将被忽略。

参数:键字段{…}

返回值:已成功删除的域数,不包括被忽略的域。

8,海伦

描述:返回密钥中哈希表域的个数。

关键参数:

返回值:在密钥不存在时哈希表的数目,返回0。

9、hexists

说明:查看给定的域字段是否存在于哈希表密钥中。

参数:键字段

返回值:如果哈希表包含给定域,则返回1。如果哈希表不包含给定域,或键不存在,返回0。

10、hincrby

描述:将增量增量添加到哈希表键中域域的值。增量也可以是负的,相当于减去给定域。

参数:键字段增量

返回值:该hincrby命令执行后,在哈希表中的关键字段值。

11、hkeys

描述:返回哈希表键中的所有字段。

关键参数:

返回值:包含哈希表中所有域的表。当键不存在时,返回一个空表。

12、hvals

描述:返回哈希表键中的所有值。

关键参数:

返回值:包含哈希表中所有值的表。当键不存在时,返回空表。

以上12种方法的代码示例:

复制代码代码如下所示:

< PHP

Redis =新的Redis(美元);

$ redis ->连接('192.168.1.108 ',6379);

$ redis ->删除(测试);

$ redis -> HSET(测试,'key1,你好);

echo redis -> hget(测试,'key1 '); / /结果:你好


$ redis -> hsetnx(测试,'key1',‘');

echo redis -> hget(测试,'key1 '); / /结果:你好
$ redis ->删除(测试);

$ redis -> hsetnx(测试,'key1',‘');



echo redis -> hget(测试,'key1 '); / /结果:世界
echo redis ->海伦(测试'); / /结果:1

var_dump($ redis -> HDEL(测试,'key1 ')); / /结果:bool(真的)
$ redis ->删除(测试);

$ redis -> HSET(测试',' ','X');

$ redis -> HSET(测试,B,Y);

$ redis -> HSET(测试、C、Z);

print_r($ redis -> hkeys(测试)); / /结果:阵列({ 0 } = >一{ 1 } = { 2 } = > > B C)
print_r($ redis -> hvals(测试)); / /结果:阵列({ 0 } = { 1 } = > > x y { 2 } = > z)
print_r($ redis -> hgetall(测试)); / /结果:({一} = >数组x {黑} = > y { } = > z)
var_dump($ redis -> hexists(测试,)); / /结果:bool(真的)
$ redis ->删除(测试);

echo redis -> hincrby(测试',' ',3); / /结果:3

echo redis -> hincrby(测试',' ',1); / /结果:4
$ redis ->删除(测试);

var_dump($ redis -> hmset(测试,阵列('name' = > 'tank ','sex= >人))); / /结果:bool(真的)

print_r($ redis -> hmget(测试,阵列('name','sex '))); / /结果:({姓名} = >系列坦克{性} = >的人)

>
13、Zadd

描述:

添加一个或多个元素,如果该元素已经存在,更新其评分值

虽然有序集合是有序的,但它也是一个不能重复元素的集合,而重复元素的添加只会

更新原始元素的得分值。

参数:

关键

评分:双

值:字符串

返回值:1或0

14、zrange

描述:在一个特定的范围内获取排序元素,第一个元素为0,第二个元素为1。- 1表示最后一个元素,- 2表示倒数第二个元素。

参数:

关键

开始:长

结束:长

初中:bool = false

返回值:数组

15、ZDelete,zrem

说明:从有序集合中删除指定成员。

参数:

关键

成员

返回值:1或0

16、zrevrange
描述:返回命令设置的关键元素的指定的时间间隔。这些元素排列在高得分要低,同分的元素,他们将被安排在降字典顺序。该命令类似于zrange,但命令中的元素的顺序是不同于以往的。

参数:

关键

开始:长

结束:长

初中:bool = false

返回值:数组

17、zrangebyscore,zrevrangebyscore

描述:在键的有序集合中返回MIN和马克斯之间的所有分数(元素的HA分数等于min或max)。元素按从低到高的顺序排列。如果元素的分数相同,则按字典的顺序排列。

可选的选项,限制,可以得到一定范围内的匹配元素。如果偏移较大,有序集需要遍历的元素之前被退回,从而增加时间复杂度O(n)。可选的选项,积分,可以返回元素的得分而返回的元素,这是因为使用2版。

参数:

关键

开始:字符串

结束:字符串

选项:阵列

返回值:数组

18、zcount

描述:返回与最小和max对应的键的有序集合中介之间的元素数。

参数:

关键

开始:字符串

结束:字符串

返回值:数组长度

19、zremrangebyscore,zreleterangebyscore

描述:删除最小最大最小之间(包括端点)的有序集合对应的小学分。由于2.1.6版本,该区间端点的最大和最小的可以排除在外,这是对zrangebyscore语法相同。

参数:

关键

开始:双或+或字符串

结束:双或+或字符串

返回值:删除元素的数量

20、zremrangebyrank,zdeleterangebyrank

描述:删除命令设置的键所对应的等级值的开始和停止之间的所有元素。开始和停止都是从0开始的,既可以是负的。当指标值为负,这表明偏移值开始在有序集与得分最高值的元素。例如,1代表着最高的一个元素,和2个代表与子高得分的一个元素,等等。

参数:

关键

开始:长

结束:长

返回值:删除元素的数量

21、zsize,zcard

描述:返回与键对应的有序集合中存储的元素的数量。

关键参数:

返回值:元素的个数

22、Z评分

描述:返回键的有序集合中成员的得分值。如果成员在有序集合中不存在,则返回null。

参数:键成员

23、Zrank,zrevrank

描述:返回成员元素的索引值的有序集合对应的密钥,和元素都是从低到高排列根据得分排名值(或指数)是从0开始,这意味着分数最低的价值元素的等级值为0,使用zrevrank,你可以得到等级(或指数)从高到低的元素。

参数:键成员

返回值:数字

24、zincrby

在有序的键所对应的增量添加成员要素的小学分。如果指定的成员不存在,元素将被添加,和其得分初始值增加。如果不存在,一个新的有序表将与成员的唯一元素创建的。如果键的值不是一个有序的列表,会有一个错误。指定的得分值应该是一个字符串,可以转换为数字值,得到一个双精度浮点数字。同时,您也可以提供一个负的值,这将降低评分值。

参数:键值成员

返回值:字符类型数据

25、zunion

描述:按键对应的一组numkeys序集和存储在目标的结果

参数:keyoutput arrayzsetkeys arrayweights aggregatefunction

返回值:联合数组

26,该

描述:该键对应的numkeys有序集计算交叉并将结果存储在目的地

参数:keyoutput arrayzsetkeys arrayweights aggregatefunction

返回值:交集数组
13-26代码实例:

复制代码代码如下所示:

Redis =新的Redis(美元);

$ redis ->连接('192.168.1.108 ',6379);

$ redis ->删除(测试);

$ redis -> Zadd(测试,1,'val1);

$ redis -> Zadd(测试,0,'val2);

$ redis -> Zadd(测试,3,'val3);
print_r($ redis -> zrange(测试,0,1)); / /结果:阵列({ 0 } = > val2 { 1 } = { 2 } = > > val1 VAL3)
$ redis -> ZDelete(测试,'val2);

print_r($ redis -> zrange(测试,0,1)); / /结果:阵列({ 0 } = { 1 } = > > val1 VAL3)
$ redis -> Zadd(测试,4,'val0);

print_r($ redis -> zrevrange(测试,0,1)); / /结果:阵列({ 0 } = { 1 } = > > val0 VAL3 { 2 } = > val1)

print_r($ redis -> zrevrange(测试,0,1,真)); / /结果:阵列({ } { } = 4 val0 VAL3 = > 3 { val1 } = 1)


$ redis -> Zadd(关键的,0,'val0);

$ redis -> Zadd(关键的,2,'val2);

$ redis -> Zadd(关键的,10,'val10);
print_r($ redis -> zrangebyscore(关键,0, 3,阵列('limit ' =阵列(1, 1),'withscores ' = true))); / /结果:阵列({ } = 2 val2)

print_r($ redis -> zrangebyscore(关键,0, 3,阵列('limit ' =阵列(1, 1)))); / /结果:阵列({ 0 } = val2)
echo redis -> zcount(关键',0, 3); / /结果:2
$ redis -> zremrangebyscore(关键',0, 3);

print_r($ redis -> zrange(关键的,0,1)); / /结果:阵列({ 0 } =模型)
echo redis -> zsize(关键的); / /结果:1
$ redis -> Zadd(关键的,2.5,'aaaa);

echo redis -> ZSCORE(关键,'aaaa '); / /结果:2.5
echo redis -> Zrank(关键,'aaaa '); / /结果:0

echo redis -> zrevrank(关键,'aaaa '); / /结果:1
$ redis ->删除(关键的);
echo redis -> zincrby(关键的,2,'aaaa '); / /结果:2

echo redis -> zincrby(关键的,1,'aaaa '); / /结果:3
$ redis ->删除(关键的);

$ redis ->删除(测试);
$ redis -> Zadd(关键的,0,'val0);

$ redis -> Zadd(关键的,1,'val1);

$ redis -> Zadd(关键的,4,'val2);

$ redis -> Zadd(测试,2,'val2);

$ redis -> Zadd(测试,3,'val3);

$ redis -> zunion('k01,阵列(关键的测试));

print_r($ redis -> zrange('k01',0,1)); / /结果:阵列({ 0 } = { 1 } = > > val0 val1 { 2 } = > VAL3 { 3 } = > val2)
$ redis -> zunion('k03,阵列(关键的测试),阵列(5, 1));

print_r($ redis -> zrange('k03',0,1)); / /结果:阵列({ 0 } = { 1 } = > > val0 VAL3 { 2 } = > val1 { 3 } = > val2)
$ redis ->该('k02,阵列(关键的测试));

print_r($ redis -> zrange('k02',0,1)); / /结果:阵列({ 0 } = val2)

>

相关文章

的过程,是一个lsas.exe查询LSA的流

的过程,是一个lsas.exe查询LSA的流

查询,是一个,是怎样,流程,过程,点评:LSAS.exe是一个w32.agobot.aa病毒相关程序。该木马允许攻击者访问你的计算机,窃取密码和个人数据 进程文件:LSA或lsas.exe 进程名称:w32.agobot.aa病毒 过程类别:安全风险的过程 英文描述: lsas.exe进程是注…

QQ令牌被绑定、解开、丢失后,在使用

QQ令牌被绑定、解开、丢失后,在使用

令牌,绑定,显示,状态,文本,QQ令牌被绑定、解开、丢失后,在使用状态显示什么文本 QQ令牌成功绑定后,令牌显示在状态栏中;正常使用;QQ令牌成功绑定,令牌页查看产品介绍信息;QQ令牌成功丢失后,令牌显示在状态栏中,并且丢失。…

基于MySQL5.5的字符集设置问题的详

基于MySQL5.5的字符集设置问题的详

字符集,解决方案,设置,详细,电脑软件,在虚拟机上安装一个MySQL,修改其my.cof文件,找到配置文件是非常强大的,但是,遇到的一个问题: 设置字符集,设置默认字符集为{ } =下客户端,{ }和{ } MySQL,mysqld,分别,但存在以下问题: 一个一个的发现是通过设置…

PHPstripos分析()函数和注意事项

PHPstripos分析()函数和注意事项

函数,注意事项,电脑软件,PHPstripos,定义和用法 的stripos()函数返回的字符串,字符串第一次出现在其他的位置。 如果找不到字符串,则返回false。 语法 Stripos(字符串,找到,开始) 参数 描述 字符串 有必要指定搜索的字符串。 找到 这是必要的…

win7不使用软件把无线网卡变成一个

win7不使用软件把无线网卡变成一个

无线网卡,热点,课程,电脑软件,WiFi,点评:以下是关于没有软件把无线网卡变成一个WiFi热点教程win7的内容 1。作为管理员运行命令提示符 因为下面的步骤必须运行在管理员,所以我们发现从开始菜单命令提示符下,键入cmd和的快速搜索,右键单击它,选…

在Win8系统的地图是在把英语翻译成

在Win8系统的地图是在把英语翻译成

系统,汉语,方法,是在,英语,点评:Win8操作系统、文字显示的地图自动打开后都是英语。对那些不会说英语的人来说,这是一件非常麻烦的事。本章将介绍如何通过设置将其转换为中文显示。 如果Windows 8或Windows 8.1自动打开地图,则地名显示为英文…

avgamsvr.exe的过程是什么是avgams

avgamsvr.exe的过程是什么是avgams

过程,电脑软件,avgamsvr,exe,点评:avgamsvr.exe的AVG反病毒杀毒软件包的一部分 进程文件:avgamsvr或avgamsvr.exe 过程名称:AVG反病毒 过程类别:安全风险的过程 英文描述: 是的avgamsvr.exe Grisoft网络安全套件的一部分,是安全的和你的计算机…

tvt_reg_monitor_svc.exe过程是怎

tvt_reg_monitor_svc.exe过程是怎

的是,过程,是怎样,电脑软件,tvt_reg_monitor_svc,点评:tvt_reg_monitor_svc.exe的过程是怎样的 进程文件:tvt_reg_monitor_svc.exe 进程名称:tvt_reg_monitor_svc.exe 过程分析:IBM的ThinkPad笔记本注册表监控服务(注册表监控服务)有关的过程。 …

多任务程序包是什么mtask.exe-使用

多任务程序包是什么mtask.exe-使用

多任务,程序包,电脑软件,mtask,exe,评论:mtask.exe -多任务程序包的详细介绍 进程文件:多任务程序包或mtask.exe 进程名称:TROJ /银行家GQ蠕虫 过程类别:安全风险的过程 英文描述: mtask.exe由TROJ /银行家GQ蠕虫添加过程。这个程序,蠕虫,它也被…

wkscal.exe的过程是怎样的

wkscal.exe的过程是怎样的

的是,过程,是怎样,电脑软件,wkscal,评论:对wkscal.exe工艺简介 进程文件:wkscal或wkscal.exe 过程名称:微软工作套件日历 过程类别:安全风险的过程 英文描述: wkscal.exe与微软套件的应用。这是一个工作日历,它可以让你安排会议和其他重要的日…

linux命令使用方法

linux命令使用方法

命令,使用方法,电脑软件,linux,评论:这里没有提到Linux猫命令的一般用法。在百度,它可以直接接收相关信息。在这里,我们不谈论它。让我们来谈谈如何使用Linux猫命令。 这里没有提到Linux猫命令的一般用法,相关信息可以直接在百度中接收,这里不…

MySQL数据库备份与恢复方法

MySQL数据库备份与恢复方法

数据库,方法,备份与恢复,电脑软件,MySQL,经常有新手问我如何备份数据库。这里有3种备份数据库的方法: (1)备份数据库文件 MySQL中的每个数据库和数据表对应于文件系统中的目录和它下面的文件。 Linux下的数据库文件的存放目录一般是 / / / my…