首次使用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
-
- String类型:键-值 | “姓名” = “约翰”
-
- List类型:[1,1,2,2,3]
-
- Set类型:集合 | [1,2,3]
-
- 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
嗯,不知道怎么样呢。