Redis in Python:Redis資料類型__Python

來源:互聯網
上載者:User
Redis資料類型:

Redis支援五種基礎資料型別 (Elementary Data Type):string(字串),hash(雜湊),list(列表),set(集合)及zset(有序集合)。
1.string(字串): string類型是Redis最基本的資料類型,一個鍵最大能儲存512MB。
string類型是二進位安全的,可以包含任何資料,比如jpg圖片或者序列化的對象 。
執行個體:

>>> import redis>>> r = redis.Redis()>>> r.set('name', 'xiemanR')True>>> r.get('name')b'xiemanR'>>> 
執行個體中鍵為name,值為字串xiemanR。
2.hash(雜湊): hash 是一個鍵名對集合。
hash是一個string類型的key和value的映射表,hash特別適合用於儲存物件。
每個 hash 可以儲存   2 32 -1 索引值對(40多億)。
執行個體:
>>> import redis>>> r = redis.Redis()>>> r.hset('xiemanR', 'age', 18)1>>> r.hget('xiemanR', 'age')b'18'>>> 
執行個體中hash的name為xiemanR,key為age,值為18;使用hget擷取鍵age的值。
3.list(列表): list是字串列表,按照插入順序排序。可以在列表的左邊或者右邊添加一個元素。 每個列表最多可儲存 2 32 - 1 元素 (40多億)
執行個體:
>>> import redis>>> r = redis.Redis()    >>> r.lpush('lang', 'Python')    >>> r.lpush('lang', *['Java', 'Go', 'PHP', 'C++', 'JS'])    >>> r.lrange('lang', 0, 3)    [b'JS', b'C++', b'PHP', b'Go']   >>>

4.set(集合): set是string類型的無序集合,集合是通過雜湊表實現的,所以添加,刪除,尋找的複雜度都是O(1)。
sadd函數: 添加一個string元素到,key對應的set集合中,成功返回1,如果元素已經在集合中返回0,key對應的set不存在返回錯誤。
smembers函數: 擷取set集合的值。 執行個體:
>>> import redis>>> r = redis.Redis()>>> r.sadd('sql', 'mysql')1>>> r.sadd('sql', 'sqlite')1>>> r.sadd('sql', 'redis')1>>> r.sadd('sql', 'mysql')0>>> r.smembers('sql'){b'sqlite', b'mysql', b'redis'}>>> 
執行個體中 mysql添加了兩次,因為集合內元素是唯一的,第二次插入的元素被忽略返回0。

5.zset(有序集合): zset 和 set 一樣也是string類型元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
zset的成員是唯一的,但分數(score)卻可以重複。

zadd函數: 添加元素到集合,元素在集合中存在則更新對應score。

zrangebyscore函數: 擷取通過分數排序的值。
執行個體:
>>> import redis>>> r = redis.Redis()>>> r.zadd('sqltype', 'redis', 0.1)1>>> r.zadd('sqltype', 'mysql', 0.5)1>>> r.zadd('sqltype', 'sqlite', 0.4)1>>> r.zrangebyscore('sqltype', 0, 2)[b'redis', b'sqlite', b'mysql']>>> 



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.