首次使用Redis

我想使用Redis的任务队列,但是因为一无所知而束手无策,所以想趁黄金周复习一下。

ゆくゆくはここを読む予定。
https://redislabs.com/ebook/part-2-core-concepts/chapter-6-application-components-in-redis/6-4-task-queues/6-4-1-first-in-first-out-queues/

在Mac上安装Redis。

先在本地试试看。

brew install redis

redis-server /usr/local/etc/redis.conf redis-server /usr/local/etc/redis.conf

只需2步即可启动的便利之处。没有等待时间。

使用本地的 Redis 。

違うterminalで実行

redis-cli

これだけ。redis-cliは brew install redis で一緒に入ります。

データ種類

因为我之前没有认真使用过,所以想确认一下字典类型有多少种。根据这篇文章显示有五种类型。
https://qiita.com/keinko/items/60c844bcf329bd3f4af8

    1. String类型:键-值 | “姓名” = “约翰”

 

    1. List类型:[1,1,2,2,3]

 

    1. Set类型:集合 | [1,2,3]

 

    1. Sorted set类型:先跳过

 

    Hash类型:字典 | 狗 = {“姓名”: “哈奇”, “年龄”: 10}

字符串

127.0.0.1:6379>  set a 1
OK
127.0.0.1:6379> get a
"1"

列出

可以重复。可以用POP取出。队列用这个也可以。
用RPUSH肯定会在右边添加。

127.0.0.1:6379> LPUSH mylist a
(integer) 1
127.0.0.1:6379> LPUSH mylist a    <------重複
(integer) 2
127.0.0.1:6379> LPUSH mylist b
(integer) 3
127.0.0.1:6379> LPUSH mylist c
(integer) 4
127.0.0.1:6379> LPOP mylist
"c"
127.0.0.1:6379> LPOP mylist
"b"
127.0.0.1:6379> LPOP mylist
"a"
127.0.0.1:6379> LPOP mylist        <------重複
"a"
127.0.0.1:6379> LPOP mylist
(nil)

设定

既然是SETs,就不会有重复存在。

127.0.0.1:6379> SADD myset "a"
(integer) 1
127.0.0.1:6379> SADD myset "b"
(integer) 1
127.0.0.1:6379> SADD myset "c"
(integer) 1
127.0.0.1:6379> SADD myset "c"     <------重複
(integer) 0
127.0.0.1:6379> SPOP myset
"a"
127.0.0.1:6379> SPOP myset
"c"
127.0.0.1:6379> SPOP myset
"b"
127.0.0.1:6379> SPOP myset     <------重複なし
(nil)
127.0.0.1:6379>

哈希 = 使用HMSET命令设置

还是用Mongo吧?有点儿Mongo的感觉。

$ redis-cli
127.0.0.1:6379> HMSET john age 25 gender "male"
OK
127.0.0.1:6379> HMSET Kate age 33 gender "female"
OK

127.0.0.1:6379> HMGET john age
1) "25"
127.0.0.1:6379> HMGET john gender
1) "male"
127.0.0.1:6379> HMGET kate age         <----- Case sensitive
1) (nil)
127.0.0.1:6379> HMGET Kate age
1) "33"
127.0.0.1:6379> HMGET Kate gender
1) "female"

好像还有HSET命令
https://redis.io/commands/hset

嗯,不知道怎么样呢。

广告
将在 10 秒后关闭
bannerAds