1. 程式人生 > >Redis學習基礎二

Redis學習基礎二

發生 包含 sting 映射 pass score push 數據類型 image

回顧:上一基礎中已了解 ( 什麽是redis 、redis 的三大特點、安裝,和數據配置)

   接下來淺嘗Redis的數據類型,時間煮雨......

一、Redis數據類型

  redis支持五中數據類型(string字符串、hash哈希、list列表、set集合、zset有序集合)

  (一)String 字符串

    1、string 是redis 中最基本的類型,可以理解成與memcached一模一樣的類型,一個key對應技術分享圖片一個value

    2、string 類型是二進制安全的,意思是redis 的string可以包含任何數據,比如jop圖片或者序列化的對象

    3、sting 類型是redis最基本的數據類型,一個鍵最大能存儲512MB

    實戰    

redis 127.0.0.1:6379> set name ‘myis lcc‘
OK
redis 127.0.0.1:6379> get name
"myis lcc"
redis 127.0.0.1:6379>

  這裏用到了redis 的 SET 和 GET命令,鍵為name,對應的值為 myis lcc

  (二)Hash 哈希

    1、redis hash 是一個鍵值對集合

    2、redis hash 是一個string類型的 field 和 value 的映射表, hash 特別適合用於儲存對象

    (一個鍵最大儲存512MB)

    實戰

redis 127.0.0.1:6379> HMSET user:1 username redis password redis points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "redis"
3) "password"
4) "redis"
5) "points"
6) "200"
redis 127.0.0.1:6379>

  

    以上實例中 hash 數據類型儲存了包含用戶腳本的信息的用戶對象,實例中用了 Redis HMSET \ HGETALL命令, user:1為鍵名

    (每個hash可以儲存2的32次方-1鍵值對(40多億))

  (三)List 列表

    1、redis 列表是簡單的字符串列表,安裝順序排序。可以添加一個元素導入列表的左邊(頭部) 或者右邊(尾部)

    實戰      

redis 127.0.0.1:6379> lpush redis.list php
(integer) 1
redis 127.0.0.1:6379> lpush redis.list mysql
(integer) 2
redis 127.0.0.1:6379> rpush redis.list cc
(integer) 3
redis 127.0.0.1:6379> lrange redis.list 0 10
1) "mysql"
2) "php"
3) "cc"
redis 127.0.0.1:6379>

  

    (列表最多可以儲存2的32次方-1個元素(4294967295 每個類別可以存40多億))

  (四)Set 集合

    1、redis 的集合 set 是string 類型的無序集合

    2、集合是通過哈希表實現的,所以添加、刪除、查找的復雜度都是O(1)

    3、sadd 命令

      添加一個sting元素到集合中,成功返回1,如果元素已經存在返回 0, key對應的set 不存在發生錯誤則返回錯誤

    sadd key member

    實例  

    

redis 127.0.0.1:6379> sadd redis.set mysql
(integer) 1
redis 127.0.0.1:6379> sadd redis.set php
(integer) 1
redis 127.0.0.1:6379> sadd redis.set cc
(integer) 1
redis 127.0.0.1:6379> sadd redis.set mysql
(integer) 0
redis 127.0.0.1:6379> smembers redis.set
1) "php"
2) "cc"
3) "mysql"
redis 127.0.0.1:6379>

  

    註意:以上實例中 mysql 添加了兩次,但是根據集合內元素的唯一性,第二次插入的元素會被忽略    

    (集合中最大的成員數位2的32次方-1(4294967295 每個類別可以存40多億))

  (五)Zset 有序集合

    1、redis zset 和 set 一樣也是string 類型的元素集合,且不允許重復成員

    2、不同的是每個元素都會關聯一個double類型的分數。redis 正是通過分數來為集合中的成員進行從小到大的排序

    3、zset 的成員是唯一的,但分數(score)卻可以重復

    4、zadd 命令

      添加元素到集合,元素在集合中存在則更新score

      zadd key score member

    實戰  

    

redis 127.0.0.1:6379> zadd redis.zset.cn 0 php
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 mysql
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE redis.zset.cn 0 10
1) "mysql"
2) "php"
3) "redis"
redis 127.0.0.1:6379>

  

   以上就是淺嘗Redis 數據類型,接下來進行命令實踐

 註明:純手工碼字搬運喲

    

  

  

    

Redis學習基礎二