-
AOF 優(yōu)點(diǎn): 1. aof默認(rèn)是不開(kāi)啟的 2. 同步寫(xiě)入頻率高,效率低,方式最安全. 3. 寫(xiě)入模式采用append模式,追加模式, 不破壞寫(xiě)入日志數(shù)據(jù),在redis中追加也不會(huì)破壞文件.如果在寫(xiě)入一半時(shí)候就出現(xiàn)崩潰問(wèn)題,redis下次啟動(dòng)之前通過(guò) redis-check-aof這個(gè)工具來(lái)幫助數(shù)據(jù)一致性問(wèn)題 4. 當(dāng)數(shù)據(jù)過(guò)大,可啟動(dòng)修改重寫(xiě)機(jī)制,redis采用append的這種機(jī)制,將新的修改的數(shù)據(jù)不短的寫(xiě)到老的磁盤(pán)文件當(dāng)中,同時(shí)創(chuàng)建新的文件保存操作,保證修改數(shù)據(jù)的更新 5. 日志文件格式清晰,便于重建數(shù)據(jù) 缺點(diǎn): 1. 對(duì)于相同數(shù)據(jù)集aof文件比rdb文件大一些 2. 根據(jù)同步策略不同,效率比rbd低. 配置過(guò)程: 1. 編輯redis.conf:vim redis.conf 2. 找到appendonly 未開(kāi)啟為no 需要改成yes(因?yàn)槟J(rèn)使用rdb方式所以) 3. Redis的目錄下會(huì)產(chǎn)生appendonly.aof這個(gè)文件,用來(lái)保存appendonly的之前的增刪改操作, 4. appendfsync always 沒(méi)修改一次就同步到磁盤(pán)上 5. appendfsync everysec 每秒會(huì)向硬盤(pán)中同步一次 6. appendfsync no 不同步到硬盤(pán)中 7. 停掉redis ./bin/redis-cli shutdown 8. 重啟redis ./bin/redis-servers ./redis.conf 9. flushall 清空數(shù)據(jù)庫(kù) , 做緩存使用 10. 進(jìn)入appendonly.aof刪除flushall可以恢復(fù)數(shù)據(jù)庫(kù)查看全部
-
RDB: 優(yōu)點(diǎn): (1)可將數(shù)據(jù)庫(kù)保存為一個(gè)文件,便于備份 (2)可方便移植 (3)性能最大化,可開(kāi)啟小的進(jìn)程處理持久化操作 缺點(diǎn): (1)不能保證數(shù)據(jù)完整性 (2)當(dāng)數(shù)據(jù)過(guò)大,進(jìn)程處理將會(huì)延遲幾百到一千毫秒 配置過(guò)程: (1)編輯redis.conf文件:vim redis.conf (2)找到時(shí)間戳,可配置秒、分、時(shí)與之存儲(chǔ)量 (3)rdb文件默認(rèn)保存在redis安裝目錄查看全部
-
redis的持久化: RDB持久化:在一定時(shí)間內(nèi)將數(shù)據(jù)寫(xiě)入到內(nèi)存中 AOF持久化:以日志形式將操作redis的操作命令增刪改保存到日志中保存到硬盤(pán)中.默認(rèn)是關(guān)閉狀態(tài),需要開(kāi)啟,保證再次啟動(dòng)時(shí)候數(shù)據(jù)完整性 不持久化 將redis持久化關(guān)閉,關(guān)閉以后可以將redis看成一個(gè)緩存.用作緩存 同時(shí)使用 RDB和AOF 兩種方式保證數(shù)據(jù)持久化,使數(shù)據(jù)更完整.查看全部
-
Redis特性: (1)每個(gè)Redis實(shí)例有16個(gè)數(shù)據(jù)庫(kù),角標(biāo)從0~15,默認(rèn)為0,也可以通過(guò)select來(lái)選擇數(shù)據(jù)庫(kù)。比如:select 1,選擇1號(hào)數(shù)據(jù)庫(kù) move用于移動(dòng)數(shù)據(jù)庫(kù)。比如:move myset 1,表示移動(dòng)myset這個(gè)key到1號(hào)數(shù)據(jù)庫(kù)。 (2)開(kāi)啟事務(wù)會(huì)將任務(wù)放到queue中,當(dāng)提交事務(wù)時(shí)逐個(gè)執(zhí)行 命令: (1)切換數(shù)據(jù)庫(kù):select [0~15] (2)開(kāi)啟事務(wù):multi (3)提交事務(wù):exec (4)回滾事務(wù):discard查看全部
-
命令: (1)所有鍵列:keys * (2)指定開(kāi)頭鍵列:keys [*]? (3)刪:del 鍵... (4)判斷存在:exists 鍵 (5)重命名:rename 舊鍵名 新鍵名 (6)設(shè)過(guò)期時(shí)間:expire 鍵 [seconds] (7)查過(guò)期時(shí)間:ttl 鍵 (8)鍵的值類(lèi)型:type 鍵查看全部
-
zadd key 70(分?jǐn)?shù)) value 80(分?jǐn)?shù))ls //添加元素 zadd key 90(分?jǐn)?shù))ls //這個(gè)時(shí)候不會(huì)添加元素 ,會(huì)把分?jǐn)?shù)為80的替換掉 zadd key 60(分?jǐn)?shù))tom //這個(gè)時(shí)候會(huì)添加元素成功 zscore key value //獲取到分?jǐn)?shù) zcard key // 獲取數(shù)量 zrem key value1 value2 ....//刪除相應(yīng)的值 zrange key 0 -1 //獲取key值 zrange key 0 -1 withscores//獲取key值和分?jǐn)?shù) zrevrange key 0 -1 withscores//從大到小的排序 zremrangebyrank key 0 4//表示 按范范圍刪除 zremrangebyscore key 80 100 //表示 從80-100分的分?jǐn)?shù)刪除掉 zrangebyscore key 0 100 withscores //表示0到100的分?jǐn)?shù)顯示 zrangebyscore key 0 100 withscores limit 0 2//只顯示2條 zcount key 80 90//顯示80 到90分的個(gè)數(shù)查看全部
-
sadd key value//添加值 srem key value //刪除value值 smembers key //獲取key value 值 sismember key a //判斷a 是否在 value中 ,若在返回1 否則返回0 sdiff key1 key2 //得到連個(gè)集合的差集 sinter key1 key2 //得到key1 key2交集 sunion key2 key3 //得到key2 ,key3的并集 scard key //得到集合這個(gè)集合的具體數(shù)量 srandmember key//獲取 這個(gè)集合的 隨機(jī)元素 sdiffstore key key1 key2 //把key1 key2的差集存儲(chǔ)到key中 sinterstore key key1 key2 //把key1 key2的交集存儲(chǔ)到key中 sunionstore key key2 key3 //把key2 key3 的并集結(jié)果存儲(chǔ)到key中查看全部
-
常用類(lèi)型: String hash key不要太長(zhǎng)、太短,命名統(tǒng)一 set key value # 賦值 get key # 獲取值 getset company baidu ==> get company , set company baidu del key # 刪除 incr num # num 的值+1 沒(méi)有默認(rèn)為0 加一就是1 如果num類(lèi)型不能做加一運(yùn)算 報(bào)錯(cuò) decr num # 減一 同理 incrby num 5 # num += 5 decrby num 5 # num -= 5; append num 5 # num 后面追加字符串“5” 如果num不存在默認(rèn)為空字符串查看全部
-
hset map-name key name hmset map-name (key name)+ 同時(shí)設(shè)置多個(gè)值 hget map-name key hmget map-name (key)+ 同時(shí)獲取多個(gè)值 hgetall map-name 獲取一個(gè)map中所有的值 hdel map-name (key)+ 刪除一個(gè)或多個(gè)值 返回值:受影響的行數(shù) del map-name 刪除map hincrby map-name key step 按指定步長(zhǎng)增加 hexists map-name key 判斷非空 hlen map-name 獲取長(zhǎng)度 hkeys map-name 獲取所有的key hvals map-name 獲取所有的值查看全部
-
命令: (1)左插入:lpush 列名 [值..];右插入:rpush 列名 [值..] (2)查詢(xún):lrange 列名 [begin,end](兩者可為正負(fù)整數(shù),負(fù)數(shù)則從相反方向計(jì)數(shù),正數(shù)從0開(kāi)始,負(fù)數(shù)從-1開(kāi)始) (3)左彈:lpop 列名;右彈:rpop 列名(查出結(jié)果均被刪除) (4)數(shù)量:llen 列名 (5)已有列左插入:lpushx 列名 [值...];已有列右插入:rpushx 列名 [值...] (6)移除:lrem 列名 [count] 值 (count可為正負(fù)數(shù),負(fù)數(shù)則從相反方向計(jì)數(shù),0為所有值) (7)指定插入:lset 列名 [index] 值 (8)從前插入:linsert 列名 before [指定值] 值;從后插入:linsert 列名 after [指定值] 值 (9)從列1彈出最后元素插入列2的頭部:rpoplpush 列1名 列2名查看全部
-
SNS BBS查看全部
-
安裝環(huán)境查看全部
-
NoSQL:非關(guān)系型數(shù)據(jù)庫(kù)查看全部
-
Nosql數(shù)據(jù)庫(kù)比較查看全部
-
NoSql 四種存儲(chǔ)方式分類(lèi)查看全部
舉報(bào)
0/150
提交
取消