Redis詳解(二)------ redis的配置文件介紹

上一篇博客我們介紹了如何安裝Redis,在Redis的解壓目錄下有個(gè)很重要的配置文件** redis.conf** (/opt/redis-4.0.9目錄下)簸淀,關(guān)于Redis的很多功能的配置都在此文件中完成的沟使,在上一講我也說過委可,一般為了不破壞安裝的文件,出廠默認(rèn)配置最好不要去改腊嗡,所以我們將此配置文件復(fù)制到 /etc/redis/目錄下了着倾。

通過 vim /etc/redis/redis.conf 命令打開此文件。下面我們將詳細(xì)介紹此配置文件叽唱。

ps:大家不懂這些配置意思沒關(guān)系屈呕,后面會(huì)在具體實(shí)例中進(jìn)行介紹,先過個(gè)眼熟即可棺亭。

1虎眨、開頭說明

image

這里沒什么好說的,需要注意的是后面需要使用內(nèi)存大小時(shí)镶摘,可以指定單位嗽桩,通常是以 k,gb,m的形式出現(xiàn),并且單位不區(qū)分大小寫凄敢。

2碌冶、INCLUDES

image

我們知道Redis只有一個(gè)配置文件,如果多個(gè)人進(jìn)行開發(fā)維護(hù)涝缝,那么就需要多個(gè)這樣的配置文件扑庞,這時(shí)候多個(gè)配置文件就可以在此通過 include /path/to/local.conf 配置進(jìn)來,而原本的 redis.conf 配置文件就作為一個(gè)總閘拒逮。

ps:如果用過struts2 開發(fā)的同學(xué)罐氨,在項(xiàng)目組中多人開發(fā)的情況下,通常會(huì)有多個(gè)struts2.xml 文件滩援,這時(shí)候也會(huì)通過類時(shí)的配置引入進(jìn)來栅隐。

另外需要注意的時(shí),如果將此配置寫在redis.conf 文件的開頭玩徊,那么后面的配置會(huì)覆蓋引入文件的配置租悄,如果想以引入文件的配置為主,那么需要將 include 配置寫在 redis.conf 文件的末尾恩袱。

3泣棋、MODULES

image

redis3.0的爆炸功能是新增了集群,而redis4.0就是在3.0的基礎(chǔ)上新增了許多功能畔塔,其中這里的 自定義模塊配置就是其中之一外傅。通過這里的 loadmodule 配置將引入自定義模塊來新增一些功能纪吮。

4、NETWORK

image

ps:這里的配置較長(zhǎng)萎胰,我只截取了一部分,下同棚辽。

①技竟、bind:綁定redis服務(wù)器網(wǎng)卡IP,默認(rèn)為127.0.0.1,即本地回環(huán)地址屈藐。這樣的話榔组,訪問redis服務(wù)只能通過本機(jī)的客戶端連接,而無法通過遠(yuǎn)程連接联逻。如果bind選項(xiàng)為空的話搓扯,那會(huì)接受所有來自于可用網(wǎng)絡(luò)接口的連接。

②包归、port:指定redis運(yùn)行的端口锨推,默認(rèn)是6379。由于Redis是單線程模型公壤,因此單機(jī)開多個(gè)Redis進(jìn)程的時(shí)候會(huì)修改端口换可。

③、timeout:設(shè)置客戶端連接時(shí)的超時(shí)時(shí)間厦幅,單位為秒沾鳄。當(dāng)客戶端在這段時(shí)間內(nèi)沒有發(fā)出任何指令,那么關(guān)閉該連接确憨。默認(rèn)值為0译荞,表示不關(guān)閉。

④休弃、tcp-keepalive :?jiǎn)挝皇敲胪碳撸硎緦⒅芷谛缘氖褂肧O_KEEPALIVE檢測(cè)客戶端是否還處于健康狀態(tài),避免服務(wù)器一直阻塞玫芦,官方給出的建議值是300s浆熔,如果設(shè)置為0,則不會(huì)周期性的檢測(cè)桥帆。

5医增、GENERAL

image

具體配置詳解:

①、daemonize:設(shè)置為yes表示指定Redis以守護(hù)進(jìn)程的方式啟動(dòng)(后臺(tái)啟動(dòng))老虫。默認(rèn)值為 no

②叶骨、pidfile:配置PID文件路徑,當(dāng)redis作為守護(hù)進(jìn)程運(yùn)行的時(shí)候祈匙,它會(huì)把 pid 默認(rèn)寫到 /var/redis/run/redis_6379.pid 文件里面

③忽刽、loglevel :定義日志級(jí)別天揖。默認(rèn)值為notice,有如下4種取值:

debug(記錄大量日志信息跪帝,適用于開發(fā)今膊、測(cè)試階段)

verbose(較多日志信息)

notice(適量日志信息,使用于生產(chǎn)環(huán)境)

warning(僅有部分重要伞剑、關(guān)鍵信息才會(huì)被記錄)

④斑唬、logfile :配置log文件地址,默認(rèn)打印在命令行終端的窗口上

⑤、databases:設(shè)置數(shù)據(jù)庫(kù)的數(shù)目黎泣。默認(rèn)的數(shù)據(jù)庫(kù)是DB 0 恕刘,可以在每個(gè)連接上使用select <dbid> 命令選擇一個(gè)不同的數(shù)據(jù)庫(kù),dbid是一個(gè)介于0到databases - 1 之間的數(shù)值抒倚。默認(rèn)值是 16褐着,也就是說默認(rèn)Redis有16個(gè)數(shù)據(jù)庫(kù)。

6托呕、SNAPSHOTTING

這里的配置主要用來做持久化操作含蓉。

image

①、save:這里是用來配置觸發(fā) Redis的持久化條件镣陕,也就是什么時(shí)候?qū)?nèi)存中的數(shù)據(jù)保存到硬盤谴餐。默認(rèn)如下配置:

<pre style="color: rgb(0, 0, 0); font-family: "Courier New"; font-size: 12px; margin: 5px 8px; padding: 5px;">save 900 1:表示900 秒內(nèi)如果至少有 1 個(gè) key 的值變化,則保存
save 300 10:表示300 秒內(nèi)如果至少有 10 個(gè) key 的值變化呆抑,則保存
save 60 10000:表示60 秒內(nèi)如果至少有 10000 個(gè) key 的值變化岂嗓,則保存</pre>

當(dāng)然如果你只是用Redis的緩存功能,不需要持久化鹊碍,那么你可以注釋掉所有的 save 行來停用保存功能厌殉。可以直接一個(gè)空字符串來實(shí)現(xiàn)停用:save ""

②侈咕、stop-writes-on-bgsave-error :默認(rèn)值為yes公罕。當(dāng)啟用了RDB且最后一次后臺(tái)保存數(shù)據(jù)失敗,Redis是否停止接收數(shù)據(jù)耀销。這會(huì)讓用戶意識(shí)到數(shù)據(jù)沒有正確持久化到磁盤上楼眷,否則沒有人會(huì)注意到災(zāi)難(disaster)發(fā)生了。如果Redis重啟了熊尉,那么又可以重新開始接收數(shù)據(jù)了

③罐柳、rdbcompression ;默認(rèn)值是yes狰住。對(duì)于存儲(chǔ)到磁盤中的快照张吉,可以設(shè)置是否進(jìn)行壓縮存儲(chǔ)。如果是的話催植,redis會(huì)采用LZF算法進(jìn)行壓縮肮蛹。如果你不想消耗CPU來進(jìn)行壓縮的話勺择,可以設(shè)置為關(guān)閉此功能,但是存儲(chǔ)在磁盤上的快照會(huì)比較大伦忠。

④省核、rdbchecksum :默認(rèn)值是yes。在存儲(chǔ)快照后昆码,我們還可以讓redis使用CRC64算法來進(jìn)行數(shù)據(jù)校驗(yàn)芳撒,但是這樣做會(huì)增加大約10%的性能消耗,如果希望獲取到最大的性能提升未桥,可以關(guān)閉此功能。

⑤芥备、dbfilename :設(shè)置快照的文件名冬耿,默認(rèn)是 dump.rdb

⑥、dir:設(shè)置快照文件的存放路徑萌壳,這個(gè)配置項(xiàng)一定是個(gè)目錄亦镶,而不能是文件名。使用上面的 dbfilename 作為保存的文件名袱瓮。

7缤骨、REPLICATION

image

①、slave-serve-stale-data:默認(rèn)值為yes尺借。當(dāng)一個(gè) slave 與 master 失去聯(lián)系绊起,或者復(fù)制正在進(jìn)行的時(shí)候,slave 可能會(huì)有兩種表現(xiàn):

1) 如果為 yes 燎斩,slave 仍然會(huì)應(yīng)答客戶端請(qǐng)求虱歪,但返回的數(shù)據(jù)可能是過時(shí),或者數(shù)據(jù)可能是空的在第一次同步的時(shí)候

2) 如果為 no 栅表,在你執(zhí)行除了 info he salveof 之外的其他命令時(shí)笋鄙,slave 都將返回一個(gè) "SYNC with master in progress" 的錯(cuò)誤

②、slave-read-only:配置Redis的Slave實(shí)例是否接受寫操作怪瓶,即Slave是否為只讀Redis萧落。默認(rèn)值為yes。

③洗贰、repl-diskless-sync:主從數(shù)據(jù)復(fù)制是否使用無硬盤復(fù)制功能找岖。默認(rèn)值為no。

④哆姻、repl-diskless-sync-delay:當(dāng)啟用無硬盤備份宣增,服務(wù)器等待一段時(shí)間后才會(huì)通過套接字向從站傳送RDB文件,這個(gè)等待時(shí)間是可配置的矛缨。 這一點(diǎn)很重要爹脾,因?yàn)橐坏﹤魉烷_始帖旨,就不可能再為一個(gè)新到達(dá)的從站服務(wù)。從站則要排隊(duì)等待下一次RDB傳送灵妨。因此服務(wù)器等待一段 時(shí)間以期更多的從站到達(dá)解阅。延遲時(shí)間以秒為單位,默認(rèn)為5秒泌霍。要關(guān)掉這一功能货抄,只需將它設(shè)置為0秒,傳送會(huì)立即啟動(dòng)朱转。默認(rèn)值為5蟹地。

⑤、repl-disable-tcp-nodelay:同步之后是否禁用從站上的TCP_NODELAY 如果你選擇yes藤为,redis會(huì)使用較少量的TCP包和帶寬向從站發(fā)送數(shù)據(jù)怪与。但這會(huì)導(dǎo)致在從站增加一點(diǎn)數(shù)據(jù)的延時(shí)。 Linux內(nèi)核默認(rèn)配置情況下最多40毫秒的延時(shí)缅疟。如果選擇no分别,從站的數(shù)據(jù)延時(shí)不會(huì)那么多,但備份需要的帶寬相對(duì)較多存淫。默認(rèn)情況下我們將潛在因素優(yōu)化耘斩,但在高負(fù)載情況下或者在主從站都跳的情況下,把它切換為yes是個(gè)好主意桅咆。默認(rèn)值為no括授。

8、SECURITY

image

①轧邪、rename-command:命令重命名刽脖,對(duì)于一些危險(xiǎn)命令例如:

flushdb(清空數(shù)據(jù)庫(kù))

flushall(清空所有記錄)

config(客戶端連接后可配置服務(wù)器)

keys(客戶端連接后可查看所有存在的鍵)

作為服務(wù)端redis-server,常常需要禁用以上命令來使得服務(wù)器更加安全忌愚,禁用的具體做法是是:

  • rename-command FLUSHALL ""

也可以保留命令但是不能輕易使用曲管,重命名這個(gè)命令即可:

  • rename-command FLUSHALL abcdefg

這樣,重啟服務(wù)器后則需要使用新命令來執(zhí)行操作硕糊,否則服務(wù)器會(huì)報(bào)錯(cuò)unknown command院水。

9、CLIENTS

image

①简十、maxclients :設(shè)置客戶端最大并發(fā)連接數(shù)檬某,默認(rèn)無限制,Redis可以同時(shí)打開的客戶端連接數(shù)為Redis進(jìn)程可以打開的最大文件螟蝙。 描述符數(shù)-32(redis server自身會(huì)使用一些)恢恼,如果設(shè)置 maxclients為0 。表示不作限制胰默。當(dāng)客戶端連接數(shù)到達(dá)限制時(shí)场斑,Redis會(huì)關(guān)閉新的連接并向客戶端返回max number of clients reached錯(cuò)誤信息

10漓踢、MEMORY MANAGEMENT

image

①、maxmemory:設(shè)置客戶端最大并發(fā)連接數(shù)漏隐,默認(rèn)無限制喧半,Redis可以同時(shí)打開的客戶端連接數(shù)為Redis進(jìn)程可以打開的最大文件。描述符數(shù)-32(redis server自身會(huì)使用一些)青责,如果設(shè)置 maxclients為0 挺据。表示不作限制。當(dāng)客戶端連接數(shù)到達(dá)限制時(shí)脖隶,Redis會(huì)關(guān)閉新的連接并向客戶端返回max number of clients reached錯(cuò)誤信息扁耐。

②、maxmemory-policy :當(dāng)內(nèi)存使用達(dá)到最大值時(shí)产阱,redis使用的清楚策略做葵。有以下幾種可以選擇:

1)volatile-lru 利用LRU算法移除設(shè)置過過期時(shí)間的key (LRU:最近使用 Least Recently Used )

2)allkeys-lru 利用LRU算法移除任何key

3)volatile-random 移除設(shè)置過過期時(shí)間的隨機(jī)key

4)allkeys-random 移除隨機(jī)ke

5)volatile-ttl 移除即將過期的key(minor TTL)

6)noeviction noeviction 不移除任何key,只是返回一個(gè)寫錯(cuò)誤 心墅,默認(rèn)選項(xiàng)

③、maxmemory-samples :LRU 和 minimal TTL 算法都不是精準(zhǔn)的算法榨乎,但是相對(duì)精確的算法(為了節(jié)省內(nèi)存)怎燥。隨意你可以選擇樣本大小進(jìn)行檢,redis默認(rèn)選擇3個(gè)樣本進(jìn)行檢測(cè)蜜暑,你可以通過maxmemory-samples進(jìn)行設(shè)置樣本數(shù)铐姚。

11、APPEND ONLY MODE

image

①肛捍、appendonly:默認(rèn)redis使用的是rdb方式持久化隐绵,這種方式在許多應(yīng)用中已經(jīng)足夠用了。但是redis如果中途宕機(jī)拙毫,會(huì)導(dǎo)致可能有幾分鐘的數(shù)據(jù)丟失依许,根據(jù)save來策略進(jìn)行持久化,Append Only File是另一種持久化方式缀蹄, 可以提供更好的持久化特性峭跳。Redis會(huì)把每次寫入的數(shù)據(jù)在接收后都寫入appendonly.aof文件,每次啟動(dòng)時(shí)Redis都會(huì)先把這個(gè)文件的數(shù)據(jù)讀入內(nèi)存里缺前,先忽略RDB文件蛀醉。默認(rèn)值為no。

②衅码、appendfilename :aof文件名拯刁,默認(rèn)是"appendonly.aof"

③、appendfsync:aof持久化策略的配置逝段;no表示不執(zhí)行fsync垛玻,由操作系統(tǒng)保證數(shù)據(jù)同步到磁盤割捅,速度最快;always表示每次寫入都執(zhí)行fsync夭谤,以保證數(shù)據(jù)同步到磁盤棺牧;everysec表示每秒執(zhí)行一次fsync,可能會(huì)導(dǎo)致丟失這1s數(shù)據(jù)

④朗儒、no-appendfsync-on-rewrite:在aof重寫或者寫入rdb文件的時(shí)候颊乘,會(huì)執(zhí)行大量IO,此時(shí)對(duì)于everysec和always的aof模式來說醉锄,執(zhí)行fsync會(huì)造成阻塞過長(zhǎng)時(shí)間乏悄,no-appendfsync-on-rewrite字段設(shè)置為默認(rèn)設(shè)置為no。如果對(duì)延遲要求很高的應(yīng)用恳不,這個(gè)字段可以設(shè)置為yes檩小,否則還是設(shè)置為no,這樣對(duì)持久化特性來說這是更安全的選擇烟勋。 設(shè)置為yes表示rewrite期間對(duì)新寫操作不fsync,暫時(shí)存在內(nèi)存中,等rewrite完成后再寫入规求,默認(rèn)為no,建議yes卵惦。Linux的默認(rèn)fsync策略是30秒阻肿。可能丟失30秒數(shù)據(jù)沮尿。默認(rèn)值為no丛塌。

⑤、auto-aof-rewrite-percentage:默認(rèn)值為100畜疾。aof自動(dòng)重寫配置赴邻,當(dāng)目前aof文件大小超過上一次重寫的aof文件大小的百分之多少進(jìn)行重寫,即當(dāng)aof文件增長(zhǎng)到一定大小的時(shí)候啡捶,Redis能夠調(diào)用bgrewriteaof對(duì)日志文件進(jìn)行重寫姥敛。當(dāng)前AOF文件大小是上次日志重寫得到AOF文件大小的二倍(設(shè)置為100)時(shí),自動(dòng)啟動(dòng)新的日志重寫過程瞎暑。

⑥徒溪、auto-aof-rewrite-min-size:64mb。設(shè)置允許重寫的最小aof文件大小金顿,避免了達(dá)到約定百分比但尺寸仍然很小的情況還要重寫臊泌。

⑦、aof-load-truncated:aof文件可能在尾部是不完整的揍拆,當(dāng)redis啟動(dòng)的時(shí)候渠概,aof文件的數(shù)據(jù)被載入內(nèi)存。重啟可能發(fā)生在redis所在的主機(jī)操作系統(tǒng)宕機(jī)后,尤其在ext4文件系統(tǒng)沒有加上data=ordered選項(xiàng)播揪,出現(xiàn)這種現(xiàn)象 redis宕機(jī)或者異常終止不會(huì)造成尾部不完整現(xiàn)象贮喧,可以選擇讓redis退出,或者導(dǎo)入盡可能多的數(shù)據(jù)猪狈。如果選擇的是yes箱沦,當(dāng)截?cái)嗟腶of文件被導(dǎo)入的時(shí)候,會(huì)自動(dòng)發(fā)布一個(gè)log給客戶端然后load雇庙。如果是no谓形,用戶必須手動(dòng)redis-check-aof修復(fù)AOF文件才可以。默認(rèn)值為 yes疆前。

12寒跳、LUA SCRIPTING

image

①、lua-time-limit:一個(gè)lua腳本執(zhí)行的最大時(shí)間竹椒,單位為ms童太。默認(rèn)值為5000.

13、REDIS CLUSTER

image

①胸完、cluster-enabled:集群開關(guān)书释,默認(rèn)是不開啟集群模式。

②赊窥、cluster-config-file:集群配置文件的名稱征冷,每個(gè)節(jié)點(diǎn)都有一個(gè)集群相關(guān)的配置文件,持久化保存集群的信息誓琼。 這個(gè)文件并不需要手動(dòng)配置,這個(gè)配置文件有Redis生成并更新肴捉,每個(gè)Redis集群節(jié)點(diǎn)需要一個(gè)單獨(dú)的配置文件腹侣。請(qǐng)確保與實(shí)例運(yùn)行的系統(tǒng)中配置文件名稱不沖突。默認(rèn)配置為nodes-6379.conf齿穗。

③傲隶、cluster-node-timeout :可以配置值為15000。節(jié)點(diǎn)互連超時(shí)的閥值窃页,集群節(jié)點(diǎn)超時(shí)毫秒數(shù)

④跺株、cluster-slave-validity-factor :可以配置值為10。在進(jìn)行故障轉(zhuǎn)移的時(shí)候脖卖,全部slave都會(huì)請(qǐng)求申請(qǐng)為master乒省,但是有些slave可能與master斷開連接一段時(shí)間了, 導(dǎo)致數(shù)據(jù)過于陳舊畦木,這樣的slave不應(yīng)該被提升為master袖扛。該參數(shù)就是用來判斷slave節(jié)點(diǎn)與master斷線的時(shí)間是否過長(zhǎng)。判斷方法是:比較slave斷開連接的時(shí)間和(node-timeout * slave-validity-factor) + repl-ping-slave-period 如果節(jié)點(diǎn)超時(shí)時(shí)間為三十秒, 并且slave-validity-factor為10,假設(shè)默認(rèn)的repl-ping-slave-period是10秒,即如果超過310秒slave將不會(huì)嘗試進(jìn)行故障轉(zhuǎn)移

⑤蛆封、cluster-migration-barrier :可以配置值為1唇礁。master的slave數(shù)量大于該值,slave才能遷移到其他孤立master上惨篱,如這個(gè)參數(shù)若被設(shè)為2盏筐,那么只有當(dāng)一個(gè)主節(jié)點(diǎn)擁有2 個(gè)可工作的從節(jié)點(diǎn)時(shí),它的一個(gè)從節(jié)點(diǎn)會(huì)嘗試遷移砸讳。

⑥琢融、cluster-require-full-coverage:默認(rèn)情況下,集群全部的slot有節(jié)點(diǎn)負(fù)責(zé)绣夺,集群狀態(tài)才為ok吏奸,才能提供服務(wù)。 設(shè)置為no陶耍,可以在slot沒有全部分配的時(shí)候提供服務(wù)奋蔚。不建議打開該配置,這樣會(huì)造成分區(qū)的時(shí)候烈钞,小分區(qū)的master一直在接受寫請(qǐng)求泊碑,而造成很長(zhǎng)時(shí)間數(shù)據(jù)不一致。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末毯欣,一起剝皮案震驚了整個(gè)濱河市馒过,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌酗钞,老刑警劉巖腹忽,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異砚作,居然都是意外死亡窘奏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門葫录,熙熙樓的掌柜王于貴愁眉苦臉地迎上來着裹,“玉大人,你說我怎么就攤上這事米同『龋” “怎么了?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵面粮,是天一觀的道長(zhǎng)少孝。 經(jīng)常有香客問我,道長(zhǎng)熬苍,這世上最難降的妖魔是什么韭山? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上钱磅,老公的妹妹穿的比我還像新娘梦裂。我一直安慰自己,他們只是感情好盖淡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布年柠。 她就那樣靜靜地躺著,像睡著了一般褪迟。 火紅的嫁衣襯著肌膚如雪冗恨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天味赃,我揣著相機(jī)與錄音掀抹,去河邊找鬼。 笑死心俗,一個(gè)胖子當(dāng)著我的面吹牛傲武,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播城榛,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼揪利,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了狠持?” 一聲冷哼從身側(cè)響起疟位,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喘垂,沒想到半個(gè)月后甜刻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡正勒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年得院,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昭齐。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖矾柜,靈堂內(nèi)的尸體忽然破棺而出阱驾,到底是詐尸還是另有隱情,我是刑警寧澤怪蔑,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布里覆,位于F島的核電站,受9級(jí)特大地震影響缆瓣,放射性物質(zhì)發(fā)生泄漏喧枷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望隧甚。 院中可真熱鬧车荔,春花似錦、人聲如沸戚扳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帽借。三九已至珠增,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間砍艾,已是汗流浹背蒂教。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脆荷,地道東北人凝垛。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像简烘,于是被迫代替她去往敵國(guó)和親苔严。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容