23

Yii redis 集合的使用

 3 years ago
source link: http://www.cnblogs.com/woods1815/p/13117971.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

redis 的集合是无序的,集合成员是唯一的,不能重复。用户可以快速地对集合执行添加元素操作、移除元素操作以及检查一个元素是否存在于集合中。这里介绍一些常用的集合处理命令,并在 Yii 中的使用。

SADD

SADD:SADD key-name item [item …]
将一个或多个元素添加到集合里面,并返回被添加元素当中原本并不存在于集合里面的元素数量

SREM

SREM:SREM key-name item [item …]

从集合里面移除一个或多个元素,并返回被移除元素的数量

SISMEMBER

SISMEMBER:SISMEMBER key-name item

检查元素 item 是否存在于集合 key-name 里

SCARD

SCARD:SCARD key-name

返回集合包含的元素的数量

SMEMBERS

SMEMBERS:SMEMBERS key-name

返回集合包含的所有元素

SRANDMEMBER

SRANDMEMBER:SRANDMEMBER key-name [count]

从集合里面随机地返回一个或多个元素。当 count 为正数时,命令返回地随机元素不会重复;当 count 为负数时,命令返回地随机元素可能会出现重复

SPOP

SPOP:SPOP key-name

随机地移除集合中的一个元素,并返回被移除的元素

SMOVE

SMOVE:SMOVE source-key dest-key item

如果 source-key 包含元素 item,那么从集合 source-key 里面移除元素 item,并将元素 item 添加到集合 dest-key 中;如果 item 被成功移除,那么命令返回 1,否则返回 0

SDIFF

SDIFF:SDIFF key-name [key-name …]

返回那些存在于第一个集合、但不存在于其他集合中的元素(计算差集)

SDIFFSTORE

SDIFFSTORE:SDIFFSTORE dest-key key-name [key-name …]

将那些存在于第一个集合但并不存在于其他集合中的元素(差集)存储到 dest-key 键里面

SINTER

SINTER:SINTER key-name [key-name …]

返回那些同时存在于所有集合中的元素(计算交集)

SINTERSTORE

SINTERSTORE:SINTERSTORE dest-key key-name [key-name …]

将那些同时存在于所有集合的元素(交集)存储到 dest-key 键里面

SUNION

SUNION:SUNION key-name [key-name …]

返回那些至少存在于一个集合中的元素(计算并集)

SUNIONSTORE

SUNIONSTORE:SUNIONSTORE dest-key key-name [key-name …]

将那些至少存在于一个集合中的元素(并集)存储到 dest-key 键里面

在 Yii 中使用实例:

// 添加元素a,b,c
Yii::$app->redis->sadd('testSetKey', 'a', 'b', 'c');   // 3
// 移除元素c
Yii::$app->redis->srem('testSetKey', 'c');    // 1
// 检查元素c是否存在集合中
Yii::$app->redis->sismember('testSetKey', 'c');   // 0
// 返回集合包含的元素的数量
Yii::$app->redis->scard('testSetKey');    // 2
// 返回集合包含的所有元素
Yii::$app->redis->smembers('testSetKey');    // ["a","b"]
// 将元素a从testSetKey集合移到testSetKey2集合
Yii::$app->redis->smove('testSetKey', 'testSetKey2', 'a');  // 1
Yii::$app->redis->smembers('testSetKey');   // ["b"]
Yii::$app->redis->smembers('testSetKey2');  // ["a"]

Recommend

  • 108
    • www.yiiframework.com 6 years ago
    • Cache

    Yii 2.0.13 is released | News | Yii PHP Framework

    Yii 2.0.13 is released We are very pleased to announce the release of Yii Framework version 2.0.13. Please r...

  • 62
    • www.yiiframework.com 6 years ago
    • Cache

    Yii 2.0.14 is released | News | Yii PHP Framework

    We are very pleased to announce the release of Yii Framework version 2.0.14.Please refer to the instructions at http://www.yiiframework.com/download/to install or upgrade to this version.

  • 45

    概述在Yii2中,页面上用表格显示数据时,一般是用数据提供器(DataProvider)来给表格作为数据源,这个思路就是不管你数据来源是什么,但是最终提供给页面表格显示的时候,其格式和接口都是一致的,这样就有效的实现了前后台的解耦。在实际开发中,最常用的是Activ...

  • 38
    • www.tuicool.com 5 years ago
    • Cache

    [news] Yii 2.0.17

    We are very pleased to announce the release of Yii Framework version 2.0.17. Please refer to the instructions at https://www.yiiframework.com/download/ to install or upg...

  • 45

    README.md Yii Web Programming Framework Thank you for choosing Yii - a high-performance component-based PHP framework.

  • 24
    • sexywp.com 4 years ago
    • Cache

    为什么不选Yii框架?

    以前,我也注意到,不在现有项目中引入框架是有原因的,而且,尤其不能选用Yii框架。 “继承”噩梦 你所有的controller,都继承自CController,其又继承自CBaseController,这个又继承自CComponent。 所有你的mode...

  • 2
    • www.oschina.net 3 years ago
    • Cache

    YII项目部署问题

    YII项目部署问题 ...

  • 4
    • blogread.cn 2 years ago
    • Cache

    Yii框架base包代码分析

    Yii框架base包代码分析 浏览:2190次  出处信息    周日闲来无事,打开Yii的源代码学习一下,今天主要看的代码...

  • 3

    Prevent users from accessing a URL directly Yii 2 advertisements I have this piece of code that if the user clicks on it the link will be repl...

  • 2
    • www.codesd.com 2 years ago
    • Cache

    yii link Ajax does not work

    yii link Ajax does not work advertisements I put a Ajax link using the following code: echo chtml::ajaxLink('GO', 'http://local...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK