数码资讯
在PHP中使用的排序功能概述
很多人认为Redis作为数据库。它实际上是一个模型,使用redis来建立一个数据库,在数据库的味道。但如何打造的重点和价值之间的关系不是真正的关系数据库一样。 效率高,不方便,方便,效率不高,方便,效率高。 PHP Redis里面的排序函数,在时间做网络把数据更方便,一个关系型数据库的味道。在你说,
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
很多人认为Redis作为数据库。它实际上是一个模型,使用redis来建立一个数据库,在数据库的味道。但如何打造的重点和价值之间的关系不是真正的关系数据库一样。
效率高,不方便,方便,效率不高,方便,效率高。
PHP Redis里面的排序函数,在时间做网络把数据更方便,一个关系型数据库的味道。在你说,让我们说一些更常用的已经在前泄露的功能。
1)键
描述:找到符合给定模式的键
参数:匹配模式
返回值:键的列表符合给定的模式。
2)MSET
描述:设置一个或多个键值对在同一时间。当同一名称的关键是发现,MSET会盖一个新值旧的价值,如果你不想覆盖同名的关键,使用msetnx command.mset是一个原子(原子)的操作,所有的key设置在同一时间,一些给定的密钥更新,以及其他一些关键是不会改变的。这是不可能发生的。
参数数组
返回值:返回总好(因为MSET不能失败)
3)获取文件
描述:返回给定键的所有(一个或多个)值。如果指定的键不存在,则返回特殊值0。因此,命令永远不会失败。
参数:键数组
返回值:包含所有给定键的值列表。
实例:
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$array =阵列('tank'=>1,
张= > 2,
营= > 3,
测试= >'');
$ redis -> MSET(数组);
print_r($ redis ->键(* *)); / /结果:阵列({ 0 } =测试)
print_r($ redis ->键(Y)); / /结果:阵列({ 0 } =营)
print_r($ redis ->键(不{ E } *)); / /结果:阵列({ 0 } =测试)
print_r($ redis ->键(*)); / /结果:阵列({ 0 } = >营{ 1 } = >测试{ 2 } = >张{ 3 } = >坦克)
print_r($ redis -> mget(array(坦克
>
4)排序
描述:基于条件的数据
参数:
复制代码代码如下所示:
(阵列
=> 'pattern, / /匹配模式
限制=数组(0, 1),
获得= > 'pattern
分类= > 'asc or'desc ' ',
alpha=真的,
存储= > 'external-key
)
返回或保存给定列表、set和有序set键中的有序元素。
总序
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush(测试',1);
$ redis -> lpush(测试',10);
$ redis -> lpush(测试',8);
print_r($ redis ->排序(测试)); / /结果:阵列({ 0 } = 1 { 1 } = > 8 { 2 } = 10)
>
按字母顺序排序
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush(测试',' ');
$ redis -> lpush(测试',要');
$ redis -> lpush(测试,B);
print_r($ redis ->排序(测试)); / /结果:阵列({ 0 } = { 1 } = > > B D { 2 } = >一)
print_r($ redis ->排序(测试,阵列('alpha= >真))); / /结果:阵列({ 0 } = >一{ 1 } = { 2 } = > > B D)
>
排序以获取数据的一部分
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush(测试',31);
$ redis -> lpush(测试',5);
$ redis -> lpush(测试',2);
$ redis -> lpush(测试',23);
$array =阵列('limit= >阵列(0,3),排序= > 'desc);
print_r($ redis ->排序(测试、数组)); / /结果:阵列({ 0 } = 31 { 1 } = > 23 { 2 } = 5)
>
使用外部关键字排序
有时您希望使用外部键作为权重来比较元素,而不是默认的对比度方法。
假设现在有一个用户(用户)表数据如下所示:
复制代码代码如下所示:
身份证姓名得分
氨
1罐89
2张40
4营70
3 * 90
id数据存储在一个名为ID.的密钥列表中。
名称数据是存储在一个列表中的关键name_ {id}命名
评分数据存储在score_ { ID的关键}。
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush('id',1);
$ redis ->设置('name_1 ','tank);
$ redis ->设置('score_1 ',89);
$ redis -> lpush('id',2);
$ redis ->设置('name_2 ','zhang);
$ redis ->设置('score_2 ',40);
$ redis -> lpush('id',4);
$ redis ->设置('name_4 ','ying);
$ redis ->设置('score_4 ',70);
$ redis -> lpush('id',3);
$ redis ->设置('name_3 ','fxxk);
$ redis ->设置('score_3 ',90);
*从大到小按分数排序,获得ID
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc
);
print_r($ redis ->排序('id',排序)); / /结果:阵列({ 0 } = 3 { 1 } = > 1 { 2 } = > 4 { 3 } = 2)
*从大到小按分数顺序排列,取名字
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc,
获得= > 'name_ *
);
print_r($ redis ->排序('id',排序)); / /结果:阵列({ 0 } = > * { 1 } = { 2 } = > >坦克营{ 3 } = >张)
*根据分数从大到大,获得姓名,分数
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc,
获得= >阵列('name_ *,'score_ *)
);
print_r($ redis ->排序('id',排序));
*结果:数组
(
{ 0 } = > *
{ 1 } = 90
{ 2 } =坦克
{ 3 } = 89
{ 4 } >应
{ 5 } = 70
{ 6 } >张
{ 7 } = 40
))
* /
*根据分数从大到小,获得ID,姓名,分数
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc,
获得= >阵列(' # ','name_ *,'score_ *)
);
print_r($ redis ->排序('id',排序));
*结果:数组
(
{ 0 } = 3
{ 1 } = > *
{ 2 } = 90
{ 3 } = 1
{ 4 } =坦克
{ 5 } = 89
{ 6 } = 4
{ 7 } >应
{ 8 } = 70
{ 9 } = 2
{ 10 } >张
{ 11 } = > 40
)
* /
>
效率高,不方便,方便,效率不高,方便,效率高。
PHP Redis里面的排序函数,在时间做网络把数据更方便,一个关系型数据库的味道。在你说,让我们说一些更常用的已经在前泄露的功能。
1)键
描述:找到符合给定模式的键
参数:匹配模式
返回值:键的列表符合给定的模式。
2)MSET
描述:设置一个或多个键值对在同一时间。当同一名称的关键是发现,MSET会盖一个新值旧的价值,如果你不想覆盖同名的关键,使用msetnx command.mset是一个原子(原子)的操作,所有的key设置在同一时间,一些给定的密钥更新,以及其他一些关键是不会改变的。这是不可能发生的。
参数数组
返回值:返回总好(因为MSET不能失败)
3)获取文件
描述:返回给定键的所有(一个或多个)值。如果指定的键不存在,则返回特殊值0。因此,命令永远不会失败。
参数:键数组
返回值:包含所有给定键的值列表。
实例:
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$array =阵列('tank'=>1,
张= > 2,
营= > 3,
测试= >'');
$ redis -> MSET(数组);
print_r($ redis ->键(* *)); / /结果:阵列({ 0 } =测试)
print_r($ redis ->键(Y)); / /结果:阵列({ 0 } =营)
print_r($ redis ->键(不{ E } *)); / /结果:阵列({ 0 } =测试)
print_r($ redis ->键(*)); / /结果:阵列({ 0 } = >营{ 1 } = >测试{ 2 } = >张{ 3 } = >坦克)
print_r($ redis -> mget(array(坦克
>
4)排序
描述:基于条件的数据
参数:
复制代码代码如下所示:
(阵列
=> 'pattern, / /匹配模式
限制=数组(0, 1),
获得= > 'pattern
分类= > 'asc or'desc ' ',
alpha=真的,
存储= > 'external-key
)
返回或保存给定列表、set和有序set键中的有序元素。
总序
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush(测试',1);
$ redis -> lpush(测试',10);
$ redis -> lpush(测试',8);
print_r($ redis ->排序(测试)); / /结果:阵列({ 0 } = 1 { 1 } = > 8 { 2 } = 10)
>
按字母顺序排序
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush(测试',' ');
$ redis -> lpush(测试',要');
$ redis -> lpush(测试,B);
print_r($ redis ->排序(测试)); / /结果:阵列({ 0 } = { 1 } = > > B D { 2 } = >一)
print_r($ redis ->排序(测试,阵列('alpha= >真))); / /结果:阵列({ 0 } = >一{ 1 } = { 2 } = > > B D)
>
排序以获取数据的一部分
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush(测试',31);
$ redis -> lpush(测试',5);
$ redis -> lpush(测试',2);
$ redis -> lpush(测试',23);
$array =阵列('limit= >阵列(0,3),排序= > 'desc);
print_r($ redis ->排序(测试、数组)); / /结果:阵列({ 0 } = 31 { 1 } = > 23 { 2 } = 5)
>
使用外部关键字排序
有时您希望使用外部键作为权重来比较元素,而不是默认的对比度方法。
假设现在有一个用户(用户)表数据如下所示:
复制代码代码如下所示:
身份证姓名得分
氨
1罐89
2张40
4营70
3 * 90
id数据存储在一个名为ID.的密钥列表中。
名称数据是存储在一个列表中的关键name_ {id}命名
评分数据存储在score_ { ID的关键}。
复制代码代码如下所示:
< PHP
Redis =新的Redis(美元);
$ redis ->连接('192.168.1.108 ',6379);
Redis -> flushall(美元);
$ redis -> lpush('id',1);
$ redis ->设置('name_1 ','tank);
$ redis ->设置('score_1 ',89);
$ redis -> lpush('id',2);
$ redis ->设置('name_2 ','zhang);
$ redis ->设置('score_2 ',40);
$ redis -> lpush('id',4);
$ redis ->设置('name_4 ','ying);
$ redis ->设置('score_4 ',70);
$ redis -> lpush('id',3);
$ redis ->设置('name_3 ','fxxk);
$ redis ->设置('score_3 ',90);
*从大到小按分数排序,获得ID
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc
);
print_r($ redis ->排序('id',排序)); / /结果:阵列({ 0 } = 3 { 1 } = > 1 { 2 } = > 4 { 3 } = 2)
*从大到小按分数顺序排列,取名字
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc,
获得= > 'name_ *
);
print_r($ redis ->排序('id',排序)); / /结果:阵列({ 0 } = > * { 1 } = { 2 } = > >坦克营{ 3 } = >张)
*根据分数从大到大,获得姓名,分数
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc,
获得= >阵列('name_ *,'score_ *)
);
print_r($ redis ->排序('id',排序));
*结果:数组
(
{ 0 } = > *
{ 1 } = 90
{ 2 } =坦克
{ 3 } = 89
{ 4 } >应
{ 5 } = 70
{ 6 } >张
{ 7 } = 40
))
* /
*根据分数从大到小,获得ID,姓名,分数
* /
排序=阵列(‘'= > 'score_ *,
分类= > 'desc,
获得= >阵列(' # ','name_ *,'score_ *)
);
print_r($ redis ->排序('id',排序));
*结果:数组
(
{ 0 } = 3
{ 1 } = > *
{ 2 } = 90
{ 3 } = 1
{ 4 } =坦克
{ 5 } = 89
{ 6 } = 4
{ 7 } >应
{ 8 } = 70
{ 9 } = 2
{ 10 } >张
{ 11 } = > 40
)
* /
>
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。