數(shù)據(jù)庫:簡單來說是本身可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數(shù)據(jù)進行新增、截取、更新、刪除等操作。
數(shù)據(jù)庫分為關(guān)系型數(shù)據(jù)庫(mysql)和非關(guān)系型數(shù)據(jù)庫(nosql)。
非關(guān)系型數(shù)據(jù)庫分為五(四)大類:
一、文檔型數(shù)據(jù)庫:mongodb
二、k-v鍵值對數(shù)據(jù)庫:redis
三、圖型數(shù)據(jù)庫:Neo4J
四、列存儲:Hbase
五、Xml數(shù)據(jù)庫:BaseX
什么是redis:redis就是遠程字典服務(wù)(remote directoy server)ropen source基于BSD協(xié)議
redis的主要應(yīng)用場景:主要用于緩存
redis為大家提供了五種基本數(shù)據(jù)類型:
string:
set key value # 表示保存一個鍵值對

get key # 表示獲取該鍵所對應(yīng)的值

mset key1 v1 key2 v2 # 表示一次保存多個鍵值對
mget key1 key2…… # 表示獲取多個鍵對應(yīng)的值

incr key # 對key的值進行加一(必須是數(shù)字字符串)
incrby key value # 對key的值進行加value(必須是數(shù)字字符串)
decr key # 對key的值進行減一(必須是數(shù)字字符串)
decrby key value # 對key的值進行減value(必須是數(shù)字字符串)

setex key seconds value # 表示保存一個鍵值對,存活時間是seconds秒

append key value # 將value的值拼接到key的值后面

strlen key # 判斷key對應(yīng)的值的長度

setrange key offset v # 將key對應(yīng)的值從offset位置開始替換為value

getrange key s e # 獲取key對應(yīng)的值從s位置到e
setnx key value # 判斷key是否存在,如果存在,則不操作,如果不存在,則增加key和值。

鍵的操作:
keys * # 返回當前數(shù)據(jù)庫的所有key
select index # 到index對應(yīng)的數(shù)據(jù)庫中去
exists key # 判斷當前數(shù)據(jù)庫下是否存在該key
type key # 判斷key對應(yīng)的值的類型
del key # 刪除key和對應(yīng)的值

expire key seconds # 該key設(shè)置過期時間
ttl key # 查看key有效時間
persist key # 去掉失效時間,讓key持久化
move key db # 將key移動到db對應(yīng)的數(shù)據(jù)庫中

dbsize # 返回當前數(shù)據(jù)庫的key的數(shù)量

flushdb # 清空當前數(shù)據(jù)庫的所有鍵和值(慎用)
flushall # 清空當前數(shù)據(jù)庫系統(tǒng)的所有值(慎用)
info # 返回當前數(shù)據(jù)庫系統(tǒng)的基本信息
hash 主要存儲對象
hset key field value # 保存對象的屬性和值
hget key field # 獲取對象的屬性值
hmset key f1 v1 f2 v2…… # 保存對象的多個屬性和值
hmget key f1 f2…… # 獲取對象的多個屬性值
hgetall key # 獲取對象的所有屬性和屬性對應(yīng)的值
hkeys key # 獲取對象的所有屬性
hvals key # 獲取對象的所有值

hlen key # 獲取對象的屬性個數(shù)
hstrlen key field # 獲取對象屬性值的長度

hdel key field # 刪除對象的屬性
list 主要存儲大量的字符串
lpush key value [value] # 從左側(cè)添加數(shù)據(jù)到list中
rpush key value [value] # 從右側(cè)添加數(shù)據(jù)到list中
linsert key before|after pivot value # 在一個元素前/后插入數(shù)據(jù)
lrange key start end # 從start位置開始顯示數(shù)據(jù),到end結(jié)束
lpop key # 刪除列表左側(cè)的第一個數(shù)據(jù)
rpop key # 刪除列表右側(cè)的第一個數(shù)據(jù)
llen key # 返回列表的元素個數(shù)
lindex key index # 返回列表index位置的數(shù)據(jù)
set 主要存儲無序的大量字符串,一般用于去重
sadd key value [value] # 添加set的元素
smembers key # 顯示set中的所有元素
sismembers key value # 判斷set中是否存在value元素
scard key # 返回set的元素個數(shù)
sinter s1 s2 # 返回s1和s2集合的交集
sdiff s1 s2 # 返回s1和s2的差集(s1部分)
sunion # 返回兩個集合的并集
zset 有序的集合
zadd key score value…… # 增加一個有序集合的元素
zrange key start end # 循環(huán)有序集合
zcount key min max # 返回有序集合的權(quán)重范圍內(nèi)的元素個數(shù)