# 2.2 redis數據類型
##2.2.1 字符串
Redis 字符串是一個字節序列。
在 Redis 中字符串是二進制安全的,這意味著它們沒有任何特殊終端字符來確定長度,所以可以存儲任何長度為 512 兆的字符串。
```bash
redis 127.0.0.1:6379> SET name "liudanbing"
OK
redis 127.0.0.1:6379> GET name
"liudanbing"
```
在上面的例子中,SET 和 GET 是 Redis 命令,name 和 "liudanbing" 是存儲在 Redis 的鍵和字符串值。
##2.2.2 哈希
Redis哈希是鍵值對的集合。
Redis哈希是字符串字段和字符串值之間的映射,所以它們用來表示對象。
```bash
127.0.0.1:6379> HMSET user:1 username liudanbing password ace points 200
OK
127.0.0.1:6379> HGETALL user:1
1) "username"
2) "liudanbing"
3) "password"
4) "ace"
5) "points"
6) "200"
```
在上面的例子中,哈希數據類型用于存儲包含用戶基本信息的用戶對象。
這里 HSET,HGETALL 是 Redis 命令同時 user:1 也是一個鍵。
##2.2.3 列表
Redis 列表是簡單的字符串列表,通過插入順序排序。可以添加一個元素到 Redis 列表的頭部或尾部。
```cpp
redis 127.0.0.1:6379> lpush tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> lpush tutoriallist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush tutoriallist rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange tutoriallist 0 10
1) "rabitmq"
2) "mongodb"
3) "redis"
```
列表的最大長度為 232 - 1 個元素(4294967295,每個列表的元素超過四十億)。
##2.2.4 集合
Redis 集合是字符串的無序集合。
在 Redis 可以添加,刪除和測試成員存在的時間復雜度為 O(1)。
```bash
127.0.0.1:6379> sadd myset redis
(integer) 1
127.0.0.1:6379> sadd myset mongodb
(integer) 1
127.0.0.1:6379> sadd myset rabitmq
(integer) 1
127.0.0.1:6379> sadd myset rabitmq
(integer) 0
127.0.0.1:6379> smembers myset
1) "mongodb"
2) "redis"
3) "rabitmq"
```
注:在上面的例子中 rabitmq 被添加兩次,但由于它是只集合具有唯一特性。集合中的成員最大數量為 232 - 1(4294967295,每個集合有超過四十億條記錄)。
##2.2.5 排序集合
不同的是,一個有序集合的每個成員都可以排序,就是為了按有序集合排序獲取它們,按權重分值從最小到最大排序。雖然成員都是獨一無二的,按權重分數值可能會重復。
```cpp
127.0.0.1:6379> zadd mysortset 0 redis
(integer) 1
127.0.0.1:6379> zadd mysortset 2 mongodb
(integer) 1
127.0.0.1:6379> zadd mysortset 1 rabitmq
(integer) 1
127.0.0.1:6379> ZRANGEBYSCORE mysortset 0 1000
1) "redis"
2) "rabitmq"
3) "mongodb"
```
全部數據類型相關操作指令在 http://redis.cn/commands.html有詳細介紹
- 概要
- 1 分布式存儲fastDFS
- 1.1 fastDFS 通用介紹
- 1.2 fastDFS安裝和使用
- 1.3 基于fastDFS實現分布式
- 2 緩存數據庫redis快速搭建
- 2.1 環境安裝
- 2.2 redis數據類型
- 2.3 redis訂閱發布模式
- 2.4 redis事務
- 2.5 redis備份
- 3 redis詳細攻略
- 3.1 redis簡介
- 3.2 redis使用場景
- 3.3 redis基本操作
- 3.4 redis數據類型
- 3.4.1 字符串
- 3.4.2 HASH-字典
- 3.4.3 List-列表
- 3.4.4 Set-集合
- 3.4.5 Sorted Set-有序集合
- 3.4.6 訂閱-發布
- 3.4.7 事務
- 3.5 redis配置文件
- 3.6 持久化
- 3.7 redis性能測試
- 3.8 redis-C-API
- 3.9 redis-C++-API
- 3.10 總結與建議
- 4 memcache緩存數據庫
- 4.1 什么是memcached
- 4.2 memcached的特征
- 4.3 memcached的內存管理
- 4.4 如何使用memcached
- 4.5 memcached參數詳解
- 4.6 memcached安裝
- 4.7 memcached-C客戶端
- 4.8 memcached-C++客戶端
- 5 Nginx
- 6 FastCGI
- 6.1 CGI
- 6.2 FastCGI
- 6.3 Nginx與FastCGI
- 7 Nginx上部署fastDFS
- 8 項目概要
- 8.1 上傳文件功能
- 8.2 主界面顯示與下載文件功能
- 8.3 注冊功能
- 8.4 登陸功能
- 8.5 文件分類功能
- 8.6 個人網盤功能
- 8.8 秒傳功能