Redis 列表(List)
Redis列表是简å�•çš„å—符串列表,按照æ�’入顺åº�排åº�ã€‚ä½ å�¯ä»¥æ·»åŠ ä¸€ä¸ªå…ƒç´ åˆ°åˆ—è¡¨çš„å¤´éƒ¨ï¼ˆå·¦è¾¹ï¼‰æˆ–è€…å°¾éƒ¨ï¼ˆå�³è¾¹ï¼‰
一个列表最多å�¯ä»¥åŒ…å�« 232 - 1 ä¸ªå…ƒç´ (4294967295, æ¯�个列表超过40äº¿ä¸ªå…ƒç´ )。
实例
redis 127.0.0.1:6379> LPUSH runoobkey redis (integer) 1 redis 127.0.0.1:6379> LPUSH runoobkey mongodb (integer) 2 redis 127.0.0.1:6379> LPUSH runoobkey mysql (integer) 3 redis 127.0.0.1:6379> LRANGE runoobkey 0 10 1) "mysql" 2) "mongodb" 3) "redis"
åœ¨ä»¥ä¸Šå®žä¾‹ä¸æˆ‘们使用了 LPUSH 将三个值æ�’入了å��为 runoobkey 的列表当ä¸ã€‚
Redis 列表命令
下表列出了列表相关的基本命令:
| �� | 命令��述 |
|---|---|
| 1 | BLPOP key1 [key2 ] timeout 移出并获å�–åˆ—è¡¨çš„ç¬¬ä¸€ä¸ªå…ƒç´ ï¼Œ å¦‚æžœåˆ—è¡¨æ²¡æœ‰å…ƒç´ ä¼šé˜»å¡žåˆ—è¡¨ç›´åˆ°ç‰å¾…超时或å�‘现å�¯å¼¹å‡ºå…ƒç´ 为æ¢ã€‚ |
| 2 | BRPOP key1 [key2 ] timeout 移出并获å�–列表的最å�Žä¸€ä¸ªå…ƒç´ , å¦‚æžœåˆ—è¡¨æ²¡æœ‰å…ƒç´ ä¼šé˜»å¡žåˆ—è¡¨ç›´åˆ°ç‰å¾…超时或å�‘现å�¯å¼¹å‡ºå…ƒç´ 为æ¢ã€‚ |
| 3 | BRPOPLPUSH source destination timeout 从列表ä¸å¼¹å‡ºä¸€ä¸ªå€¼ï¼Œå°†å¼¹å‡ºçš„å…ƒç´ æ�’入到å�¦å¤–一个列表ä¸å¹¶è¿”回它; å¦‚æžœåˆ—è¡¨æ²¡æœ‰å…ƒç´ ä¼šé˜»å¡žåˆ—è¡¨ç›´åˆ°ç‰å¾…超时或å�‘现å�¯å¼¹å‡ºå…ƒç´ 为æ¢ã€‚ |
| 4 | LINDEX key index 通过索引获å�–列表ä¸çš„å…ƒç´ |
| 5 | LINSERT key BEFORE|AFTER pivot value åœ¨åˆ—è¡¨çš„å…ƒç´ å‰�或者å�Žæ�’å…¥å…ƒç´ |
| 6 | LLEN key 获�列表长度 |
| 7 | LPOP key 移出并获å�–åˆ—è¡¨çš„ç¬¬ä¸€ä¸ªå…ƒç´ |
| 8 | LPUSH key value1 [value2] 将一个或多个值�入到列表头部 |
| 9 | LPUSHX key value 将一个值æ�’入到已å˜åœ¨çš„列表头部 |
| 10 | LRANGE key start stop 获å�–åˆ—è¡¨æŒ‡å®šèŒƒå›´å†…çš„å…ƒç´ |
| 11 | LREM key count value ç§»é™¤åˆ—è¡¨å…ƒç´ |
| 12 | LSET key index value é€šè¿‡ç´¢å¼•è®¾ç½®åˆ—è¡¨å…ƒç´ çš„å€¼ |
| 13 | LTRIM key start stop 对一个列表进行修剪(trim),就是说,让列表å�ªä¿�ç•™æŒ‡å®šåŒºé—´å†…çš„å…ƒç´ ï¼Œä¸�åœ¨æŒ‡å®šåŒºé—´ä¹‹å†…çš„å…ƒç´ éƒ½å°†è¢«åˆ é™¤ã€‚ |
| 14 | RPOP key 移除列表的最å�Žä¸€ä¸ªå…ƒç´ ï¼Œè¿”å›žå€¼ä¸ºç§»é™¤çš„å…ƒç´ ã€‚ |
| 15 | RPOPLPUSH source destination 移除列表的最å�Žä¸€ä¸ªå…ƒç´ ï¼Œå¹¶å°†è¯¥å…ƒç´ æ·»åŠ åˆ°å�¦ä¸€ä¸ªåˆ—表并返回 |
| 16 | RPUSH key value1 [value2] åœ¨åˆ—è¡¨ä¸æ·»åŠ ä¸€ä¸ªæˆ–å¤šä¸ªå€¼åˆ°åˆ—è¡¨å°¾éƒ¨ |
| 17 | RPUSHX key value 为已å˜åœ¨çš„åˆ—è¡¨æ·»åŠ å€¼ |
点我分享笔记