二:Redis數據類型
阿新 • • 發佈:2019-04-13
sco con 命令 resource flushall field 存儲 實例 god
一.?nosql(非關系性數據庫):
mongoDB
hbase
redis
nulch
hive
pig
mahout
zookeeper
二:redis 數據類型
1.存儲string:
常用命令: 設置/取值: set key value get key getset key value del key 數值增減: incr key decr key 擴展命令: incrby key increment decrby key decrement append key value
2.存儲hash:鍵值對
常用命令: 賦值: hset key field value hmset key field value [field2 value2 ...] 取值: hget key field hmget key field field ... hgetall key 刪除: hdel key field [field...] del key 增加數字: hincrby key field increment 自學命令: hexists key field hlen key hkeys key hvals key
3.存儲list:有序可重復,按插入順序排序的字符串鏈表
常用命令: 兩端添加: lpush key values[value1 value2 ...] rpush key values[value1 value2 ...] 查看列表: lrange key start end 兩端彈出: lpop key rpop key 獲取列表中元素的個數 llen key 擴展命令: lpushx key value rpushx key value lrem key count value lset key index value linsert key before|after pivot value rpoplpush resource destination rpoplpush mylist1 mylist2 rpoplpush mylist1 mylist1
4.存儲set:無序不重復
常用命令:
添加/刪除元素:
sadd key values[value1,value2...]
srem key members[member1,member2...]
獲得集合中元素:
smembers key
sismember key member
集合中差集運算:A-B
sdiff key1 key2...:
集合中交集運算:AnB
sinter key1 key2...:
集合中並集運算:AuB
sunion key1 key2...:
擴展命令:
scard key
srandmember key
sdiffstore destination key1 key2...
sinterstore destination key1 key2...
sunionstore destination key2 key2...
5.存儲sortedset:有序不重復
常用命令:
添加元素:
zadd key score memeber score2 member2...
獲得元素:
zscore key member
zcard key
刪除元素:
zrem key member[member...]
zremrangebyrank key start stop
zremrangebyscore key min max
範圍查詢:
zrange key start end [withscores]
zrange myzset 0 -1 withscores
zrevrange key start stop [withscores]
擴展命令:
zrangebyscore key min max [withscores] [limit offset count]
zincrby key increment member
zcount key min max
zrank key member
zrevrank key member
6.keys值的通用操作:
keys pattern : *表示任意一個或多個; ?表示任意一個字符
del key1 key2...
exists key
rename key newkey
expire key
ttl key
type key
三:redis特性:
1.多數據庫:
一個redis實例最多可提供16個數據庫,下標從0到15,默認連接是第0號數據庫,也可以通過select選擇連接哪個數據庫。
select 1
move key 2
2.服務器命令:
ping
echo
select
quit
dbsize :當前數據庫中key的數目
info :服務器的信息和統計
flushdb :刪除當前選擇數據庫中的所有key
flushall :刪除所有數據庫中的所有key
3.消息訂閱與發布:
subscribe channel :訂閱頻道
subscribe mychat
psubscribe channel* :批量訂閱頻道
psubscribe s* :訂閱以‘s’開頭的頻道
publish channel content :在指定的頻道中發布消息
publish mychat 'today is a newday'
4.redis事務:
multi :開啟事務
discard :事務回滾
exec :提交事務
multi
incr num1
incr num2
incr num3
discard/exec
四:redis持久化:數據從內存中同步到硬盤中
redis支持兩種方式持久化:一種RDB;一種AOF.
1.RDB(默認支持,無需配置)
在指定時間間隔內將內存中的數據集快照寫入磁盤
快照參數設置:
save 900 1 15分鐘 至少1個key發生變化,即dump內存快照
save 300 10 5分鐘 至少10個key發生變化,即dump內存快照
save 60 10000 1分鐘 至少10000個key發生變化,即dump內存快照
2.AOF
以日誌形式記錄服務器所處理的每一個寫操作,在redis服務器啟動之初會讀取該文件來重新構建數據庫。
配置信息:
always 每次有數據修改發生時寫入aof文件
everysec 每秒鐘同步一次
no 從不同步
二:Redis數據類型