Redis 資料庫初級篇
阿新 • • 發佈:2018-12-18
1、Nosql(not only sql)
- 非關係型資料庫,不支援sql語法
- 每種Nosql資料庫都有自己的api和語法格式
- 常見的種類有:Mongodb, Redis, Hbase hadoop, Cassandra hadoo
- Nosql與sql資料庫的區別:
- 適用場景不同:sql資料庫關係特別複雜的資料查詢場景,而nosql相反。
- 事務特性的支援:sql對事務的支援非常的完善,而noslq基本不支援事務。
- 兩者在不斷的取長補短,呈現融合趨勢
2、Redis資料庫
- 支援資料的持久化,可以將記憶體中的資料儲存到磁碟中,重啟的時候可以再次進行載入使用。
- 不僅支援key-value型資料,還支援string,hash,list,set,zset資料操作。
- 支援資料備份(master-slave)
- 讀寫效能極高
3、Redis命令
1、string:
設定 set key value # 基本鍵值對 setex key seconds vakue # 建立字串並指明有效的時間 mset key1 value1 key2 value2... # 多個鍵值對 append key value # 追加內容到字串 獲取 get key # 獲取value值 mget key1 key2... # 獲取多個value值 檢視鍵 keys * # 檢視所有的鍵 keys a* # 檢視以a開頭的鍵 keys *a # 檢視以a結尾的鍵 keys *a* # 檢視包含a的鍵 exists key1 # 判斷鍵是否存在 type key # 檢視鍵的型別 刪除鍵 del key1 key2 # 刪除鍵 expire key second # 刪除鍵,並設定有效期 ttl key 檢視鍵的有效期
2、hash
設定
hset key field value # 給鍵設定一個屬性
hmset key field1 vlaue1 field2 value2.. # 設定多個屬性
獲取
hget key field # 獲取域的一個屬性
hmget key field # 獲取域的多個屬性
hkeys key # 獲取指定域的所有屬性
hvals key # 獲取指定域的所有屬性值
刪除鍵
hdel key field1 field2
3、list
設定 lpush key value1 value2 # 從左邊插入 rpush key value1 value2 # 從右邊插入 linsert key before oldvalue newvalue # 在指定元素前插入 linsert key after oldvalue newvalue # 在指定元素後面插入 lset key index value # 設定指定位置的元素值 獲取 lrange key start stop # 獲取在該範圍內從start到stop的值 刪除鍵 lrem key count value # 當count>0時,從左往右刪除count個value值 # 當count<0時, 從右往左刪除-count個value值 # count=0時,刪除所有的value
4、set
設定
sadd key member1 member2 # 新增元素
獲取
smembers key # 獲取域中的所有元素
刪除鍵
srem key value # 刪除域內的指定元素
5、zset
設定
zadd key score1 mumber1 score2 mumber2 # 新增元素
獲取
zrange key start stop # 返回指定範圍內的member
zrangebysocre key min max # 返回權重值在min和max中的元素
zscore key value 獲取域中value的權重值
刪除鍵
zrem key member1 member2.. # 刪除域內的指定元素
zremrangebyscore key min max # 刪除域權重介於min和max 之間的元素