### Redis數據類型
Redis支持5種數據類型。
#### 字符串
Redis中的字符串是一個字節序列。Redis中的字符串是二進制安全的,這意味著它們的長度不由任何特殊的終止字符決定。因此,可以在一個字符串中存儲高達512兆字節的任何內容。
示例
~~~
redis 127.0.0.1:6379> set name "yiibai.com"
OK
redis 127.0.0.1:6379> get name
"yiibai.com"
~~~
在上面的示例中,set和get是Redis命令,name是Redis中使用的鍵,yiibai.com是存儲在Redis中的字符串的值。
注 - Redis命令不區分大小寫,如SET,Set和set都是同一個命令。字符串值的最大長度為 512MB。
#### 散列/哈希
Redis散列/哈希(Hashes)是鍵值對的集合。Redis散列/哈希是字符串字段和字符串值之間的映射。因此,它們用于表示對象。
示例
~~~
redis 127.0.0.1:6379> HMSET ukey username "yiibai" password "passswd123" points 200
~~~
在上述示例中,散列/哈希數據類型用于存儲包含用戶的基本信息的用戶對象。這里HMSET,HGETALL是Redis的命令,而ukey是鍵的名稱。
每個散列/哈希可以存儲多達2^32 - 1個健-值對(超過40億個)。
#### 列表
Redis列表只是字符串列表,按插入順序排序。您可以向Redis列表的頭部或尾部添加元素。
示例
~~~
redis 127.0.0.1:6379> lpush alist redis
(integer) 1
redis 127.0.0.1:6379> lpush alist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush alist sqlite
(integer) 3
redis 127.0.0.1:6379> lrange alist 0 10
~~~
輸出
~~~
1) "sqlite"
2) "mongodb"
3) "redis"
~~~
列表的最大長度為2^32 - 1個元素(4294967295,每個列表可容納超過40億個元素)。
#### 集合
Redis集合是字符串的無序集合。在Redis中,您可以添加,刪除和測試成員存在的時間O(1)復雜性。
示例
~~~
redis 127.0.0.1:6379> sadd yiibailist redis
(integer) 1
redis 127.0.0.1:6379> sadd yiibailist mongodb
(integer) 1
redis 127.0.0.1:6379> sadd yiibailist sqlite
(integer) 1
redis 127.0.0.1:6379> sadd yiibailist sqlite
(integer) 0
redis 127.0.0.1:6379> smembers yiibailist
~~~
輸出
~~~
1) "sqlite"
2) "mongodb"
3) "redis"
~~~
注意 - 在上面的示例中,sqlite被添加了兩次,但是由于集合的唯一屬性,所以它只算添加一次。
一個集合中的最大成員數量為2^32 - 1(即4294967295,每個集合中元素數量可達40億個)個。
#### 可排序集合
Redis可排序集合類似于Redis集合,是不重復的字符集合。 不同之處在于,排序集合的每個成員都與分數相關聯,這個分數用于按最小分數到最大分數來排序的排序集合。雖然成員是唯一的,但分數值可以重復。
示例
~~~
redis 127.0.0.1:6379> zadd yiibaiset 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd yiibaiset 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd yiibaiset 1 sqlite
(integer) 1
redis 127.0.0.1:6379> zadd yiibaiset 1 sqlite
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE yiibaiset 0 1000
~~~
輸出
~~~
1) "mongodb"
2) "redis"
3) "sqlite"
~~~
因為 ‘sqlite‘ 的排序值是 1 ,其它兩個元素的排序值是 0 ,所以 ‘sqlite‘ 排在最后一個位置上。
- 目錄
- 安裝擴展
- 在 Windows 上安裝 PHP 擴展
- 測試Redis擴展函數
- 教程
- 簡介
- Redis 安裝
- Redis 配置
- 運行
- 測試
- 書籍
- 《Redis開發與運維》
- 《Redis入門指南》
- 《Redis實戰》
- 《當 Redis 遇上 ThinkPHP5》
- 參考站點
- 下載
- 命令參考
- 管理工具
- 視頻
- 云數據庫 Redis 版使用教程
- Redis 深入之道
- Redis高可用教程
- Redis入門
- NoSQL概述
- Redis概述
- Redis安裝
- Jedis入門
- PHP命令
- PHP中利用Redis管道加快執行
- Hash操作
- Set操作
- Gearman
- MySQL - Redis配合使用方案
- 應用場景
- 緩存應用
- Redis實現簡單的條件查詢功能
- 獲取網站中點擊量最高的前n篇文章
- 顯示最新的項目列表
- 排行榜相關
- 設計技巧
- SortedSets
- List列表
- 消息隊列
- 最新文章
- Set集合
- 共同好友
- 獨立 IP
- Linux教程
- 常用命令
- 哈希命令
- 字符串
- 集合
- 有序集合
- Redis 有序集合命令
- 有序集合命令(中)
- 發布訂閱
- 用例
- 列表
- Lindex
- Ltrim
- Rpush
- Lset
- Llen
- Lpush
- 信息
- info memory
- 安裝
- 數據類型
- Redis管道(pipeline)
- Memory Command
- 阿里云Redis
- 架構
- 4.0版本
- Redis 4.0 新功能介紹
- Redis Desktop Manager
- 創建hash列表數據
- Lua: 給 Redis 用戶的入門指導
- Lua入門
- 樂觀鎖介紹
- 悲觀鎖介紹
- 臟數據
- Redis核心概念
- Redis事務
- Lua
- 在Redis中使用lua腳本
- php-redis
- mysql緩存服務器
- redis setnx 實現分布式鎖和單機鎖
- 為什么分布式一定要有Redis?