码迷,mamicode.com
首页 > 其他好文 > 详细

redis学习笔记

时间:2017-12-04 00:01:06      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:ted   ...   ring   union   dex   map   hello   scribe   str   

redis数据类型及支持的常用操作:

string

set/get/append/incr/decr/getrange/mget/mset/strlen

127.0.0.1:6379> set usersession:1 13323232323
OK
127.0.0.1:6379> get usersession:1
"13323232323"
127.0.0.1:6379> incr usersession:1
(integer) 13323232324
get  usersession:1 //  13323232324
 127.0.0.1:6379> append usersession:1 "extra data"
(integer) 21
127.0.0.1:6379> get usersession:1
"13323232324extra data"
127.0.0.1:6379> set customer:1 "customer00123"
OK
127.0.0.1:6379> getrange customer:1 8 13
"00123"

 127.0.0.1:6379> strlen customer:1
  (integer) 13

127.0.0.1:6379> mset order:1 "order1 data" order:2 "order2 data"
OK
127.0.0.1:6379> mget order:1 order:2
1) "order1 data"
2) "order2 data"

 

list : order list

just a sorted list of strings, sorted by insertion order

可以执行以下操作:

lpush/rpush/lrem/lset/lindex/lrange/llen/lpop/rpop/ltrim

127.0.0.1:6379> lpush recentcomments "comment 1"
(integer) 1
127.0.0.1:6379> lrange recentcomments 0 1
1) "comment 1"
127.0.0.1:6379> lpush recentcomments "comment 2"
(integer) 2
127.0.0.1:6379> lrange recentcomments 0 2
1) "comment 2"
2) "comment 1"
127.0.0.1:6379> rpush recentcomments "comment 3"
(integer) 3
127.0.0.1:6379> lrange recentcomments 0 3
1) "comment 2"
2) "comment 1"
3) "comment 3"
127.0.0.1:6379> rpush recentcomments "comment 4"
(integer) 4
127.0.0.1:6379> rpush recentcomments "comment 5"
(integer) 5
127.0.0.1:6379> lrange recentcomments 0 6
1) "comment 2"
2) "comment 1"
3) "comment 3"
4) "comment 4"
5) "comment 5"
127.0.0.1:6379> rpush recentcomments "comment 6"
(integer) 6
127.0.0.1:6379> lrange recentcomments 0 6
1) "comment 2"
2) "comment 1"
3) "comment 3"
4) "comment 4"
5) "comment 5"
6) "comment 6"
127.0.0.1:6379> ltrim recentcomments 0 4
OK
127.0.0.1:6379> lrange recentcomments 0 6
1) "comment 2"
2) "comment 1"
3) "comment 3"
4) "comment 4"
5) "comment 5"
127.0.0.1:6379>


127.0.0.1:6379> lindex recentcomments 2
"comment 3"
127.0.0.1:6379> lrange recentcomments 0 5
1) "comment 2"
2) "comment 1"
3) "comment 3"
4) "comment 4"
5) "comment 5"
127.0.0.1:6379> lpop recentcomments
"comment 2"
127.0.0.1:6379> lrange recentcomments 0 5
1) "comment 1"
2) "comment 3"
3) "comment 4"
4) "comment 5"
127.0.0.1:6379> lpop recentcomments
"comment 1"
127.0.0.1:6379> lrange recentcomments 0 5
1) "comment 3"
2) "comment 4"
3) "comment 5"
127.0.0.1:6379> rpop recentcomments
"comment 5"
127.0.0.1:6379> lrange recentcomments 0 5
1) "comment 3"
2) "comment 4"
127.0.0.1:6379>

redis> RPUSH mylist "hello"
(integer) 1
redis> RPUSH mylist "hello"
(integer) 2
redis> RPUSH mylist "foo"
(integer) 3
redis> RPUSH mylist "hello"
(integer) 4
redis> LREM mylist -2 "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "foo"

 

sets: 

sets contain a collection of unique strings

sadd/scard/sdiff/sinter/sunion/sismember/smembers/smove/srem

127.0.0.1:6379> sadd post:1:likes "joe" "bob" "mary"
(integer) 3
127.0.0.1:6379> scard post:1:likes
(integer) 3
127.0.0.1:6379> smembers post:1:likes
1) "joe"
2) "bob"
3) "mary"
127.0.0.1:6379> sadd post:2:likes "joe" "tim"
(integer) 2
127.0.0.1:6379> sdiff post:1:likes post:2:likes
1) "bob"
2) "mary"
127.0.0.1:6379> sinter post:1:likes post:2:likes
1) "joe"
127.0.0.1:6379>

sorted sets:

zadd,zcard,zcount,zincrby,zrange,zrank,zrem,zscore

127.0.0.1:6379> zadd highscores 120 "joe" 100 "bob" 150 "mary" 104 "tim"
(integer) 4
127.0.0.1:6379> zrange highscores 0 4
1) "bob"
2) "tim"
3) "joe"
4) "mary"
127.0.0.1:6379> zrange highscores 0 4 withscores
1) "bob"
2) "100"
3) "tim"
4) "104"
5) "joe"
6) "120"
7) "mary"
8) "150"
127.0.0.1:6379> zadd highscores 125 "joe"
(integer) 0
127.0.0.1:6379> zrange highscores 0 4 withscores
1) "bob"
2) "100"
3) "tim"
4) "104"
5) "joe"
6) "125"
7) "mary"
8) "150"

hash

maps between string fields and string values

hset/hmset/hget/hmget/hgetall/hdel/hexists/hincrby/hkeys/hvals

pub and sub

redis can be used as a message bus

127.0.0.1:6379> subscribe greetings
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "greetings"
3) (integer) 1
1) "message"
2) "greetings"
3) "hello redis"
1) "message"
2) "greetings"
3) "hello redis again"

psubscribe gree* // 則這種情況下會subscribe所有的gree
// 另外一個窗口
C:\Redis>redis-cli.exe
127.0.0.1:6379> publish greetings "hello redis"
(integer) 1
127.0.0.1:6379> publish greetings "hello redis again"
(integer) 1
127.0.0.1:6379>

transction

 

redis学习笔记

标签:ted   ...   ring   union   dex   map   hello   scribe   str   

原文地址:http://www.cnblogs.com/kidsitcn/p/7967716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!