(1)string是redis最基本的類型,string類型是二進制安全的(意思是redis能夠包含任何數據,好比jpg圖片或者序列化對象)redis
(2)一個鍵最大能存儲512MBmongodb
實例:安全
redis 127.0.0.1:6379> SET name "tangli" OK redis 127.0.0.1:6379> GET name "tangli"
(1)Redis 列表是簡單的字符串列表,按照插入順序排序。你能夠添加一個元素導列表的頭部(左邊)或者尾部(右邊)。spa
(2)列表最多可存儲 232 - 1 元素 (4294967295, 每一個列表可存儲40多億).net
實例:對象
redis 127.0.0.1:6379> lpush tangli redis (integer) 1 redis 127.0.0.1:6379> lpush tangli mongodb (integer) 2 redis 127.0.0.1:6379> lpush tangli rabitmq (integer) 3 redis 127.0.0.1:6379> lrange tangli 0 10 1) "rabitmq" 2) "mongodb" 3) "redis" redis 127.0.0.1:6379>
(1)我把它類比成JAVA中的HashMap排序
(2)每一個 hash 能夠存儲 232 - 1 鍵值對(40多億)圖片
複製官網的實例,記錄一下:字符串
redis 127.0.0.1:6379> HMSET user:1 username redis.net.cn password redis.net.cn points 200 OK redis 127.0.0.1:6379> HGETALL user:1 1) "username" 2) "redis.net.cn" 3) "password" 4) "redis.net.cn" 5) "points" 6) "200" redis 127.0.0.1:6379>
(1)集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是O(1)。string
(2)添加一個string元素到,key對應的set集合中,成功返回1,若是元素以及在集合中返回0,key對應的set不存在返回錯誤。
sadd 命令
添加一個string元素到,key對應的set集合中,成功返回1,若是元素以及在集合中返回0,key對應的set不存在返回錯誤。
sadd key member
redis 127.0.0.1:6379> sadd redis.net.cn redis (integer) 1 redis 127.0.0.1:6379> sadd redis.net.cn mongodb (integer) 1 redis 127.0.0.1:6379> sadd redis.net.cn rabitmq (integer) 1 redis 127.0.0.1:6379> sadd redis.net.cn rabitmq (integer) 0 redis 127.0.0.1:6379> smembers redis.net.cn 1) "rabitmq" 2) "mongodb" 3) "redis"
Redis zset 和 set 同樣也是string類型元素的集合,且不容許重複的成員。
不一樣的是每一個元素都會關聯一個double類型的分數。redis正是經過分數來爲集合中的成員進行從小到大的排序。
zset的成員是惟一的,但分數(score)卻能夠重複。
zadd 命令
添加元素到集合,元素在集合中存在則更新對應score
zadd key score member
redis 127.0.0.1:6379> zadd redis.net.cn 0 redis (integer) 1 redis 127.0.0.1:6379> zadd redis.net.cn 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd redis.net.cn 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd redis.net.cn 0 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE redis.net.cn 0 1000 1) "redis" 2) "mongodb" 3) "rabitmq"