很多人认为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

)

* /

>