⑴ redis支持的數據類型有哪些
Redis支持五種數據類型:string(字元串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
string 是 redis 最基本的類型,可以理解成與 Memcached 一模一樣的類型,一個 key 對應一個 value。string 類型是二進制安全的。意思是 redis 的 string 可以包含任何數據。比如jpg圖片或者序列化的對象,string 類型的值最大能存儲 512MB。
(1)redis不支持哪些數據類型擴展閱讀:
Redis hash是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。
Redis list是簡單的字元串列表,按照插入順序排序。可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。
Redis的Set是string類型的無序集合,集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是O(1)。
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員,不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
zset的成員是唯一的,但分數(score)卻可以重復。
⑵ redis數據結構
redis數據結構
Redis是一種存儲key-value的內存型資料庫,它的key都是字元串類型,value支持存儲5種類型的數據:String(字元串類型)、List(列表類型)、Hash(哈希表類型、即key-value類型)、Set(無序集合類型,元素不可重復)、Zset(有序集合類型,元素不可重復)。
針對這5種數據類型,Redis在底層都是使用的redisObject對象表示的。redisObject有3個重要的屬性:type、encoding、ptr。
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。
在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
⑶ Redis支持幾種數據類型
Redis支持五種數據類型:string(字元串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
意思是 redis 的 string 可以包含任何數據。比如jpg圖片或者序列化的對象,string 類型的值最大能存儲 512MB。
Redis hash是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。
Redis list是簡單的字元串列表,按照插入順序排序。可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。
Redis的Set是string類型的無序集合,集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是O(1)。
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員,不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
⑷ redis的五種數據類型是什麼
如下:
一、string
string 是 redis 最基本的類型,你可以理解成與 Memcached 一模一樣的類型,一個 key 對應一個 value。
string 類型是二進制安全的。意思是 redis 的 string 可以包含任何數據。比如jpg圖片或者序列化的對象。
string 類型是 Redis 最基本的數據類型,string 類型的值最大能存儲 512MB。
命令: SET 和 GET 命令。
二、hash
Redis hash 是一個鍵值(key=>value)對集合。
Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。
HMSET, HGET 命令,HMSET 設置了兩個 field=>value 對, HGET 獲取對應 field 對應的 value。
三、list
列表是簡單的字元串列表,按照插入順序排序。可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。
列表最多可存儲 232 - 1 元素 (4294967295,每個列表可存儲40多億)。
lpush 設置值,lrange取值。
四、set
redis的set是string的無序集合。集合通過哈希表實現。
添加一個string元素到key對應的set集合中,用 sadd命令。返回1表示成功,0表示在集合中已存在,返回錯誤表示key對應的set不存在。
查看用smembers 命令。
集合內元素的唯一性,第二次插入的元素將被忽略。
集合中最大的成員數為 232 - 1(4294967295, 每個集合可存儲40多億個成員)。
五、zset
redis的zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。
不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重復。
添加元素到集合,元素在集合中存在則更新對應score:zadd key score member。
Redis數據模型:
Redis的外圍由一個鍵、值映射的字典構成。與其他非關系型資料庫主要不同在於:Redis中值的類型不僅限於字元串,還支持如下抽象數據類型:
1、字元串列表。
2、無序不重復的字元串集合。
3、有序不重復的字元串集合。
4、鍵、值都為字元串的哈希表。
值的類型決定了值本身支持的操作。Redis支持不同無序、有序的列表,無序、有序的集合間的交集、並集等高級伺服器端原子操作。
⑸ 什麼是Redis
redis 就是一個資料庫,不過與傳統資料庫不同的是 redis 的數據是存在內存和部分文件中的,所以讀寫速度非常快,因此 redis 被廣泛應用於緩存方向。另外,redis 也經常用來做分布式鎖。redis 提供了多種數據類型來支持不同的業務場景。除此之外,redis 支持事務 、持久化、LUA腳本、LRU驅動事件、多種集群方案。
⑹ redis支持哪些數據類型
redis提供五種數據類型:string,hash,list,set及zset(sorted set)。
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis 是一個高性能的key-value資料庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系資料庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。
Redis支持主從同步。數據可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。這使得Redis可執行單層樹復制。存檔可以有意無意的對數據進行寫操作。由於完全實現了發布/訂閱機制,使得從資料庫在任何地方同步樹時,可訂閱一個頻道並接收主伺服器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗餘很有幫助。