redis緩存

常用命令:
常用數(shù)據(jù)類型redis:

  • String: 字符串
  • Hash: 散列
  • List: 列表
  • Set: 集合
  • Sorted Set: 有序集合
    簡(jiǎn)介:

Redis 與其他 key - value 緩存產(chǎn)品有以下三個(gè)特點(diǎn):
支持?jǐn)?shù)據(jù)持久化,可以將內(nèi)存重的數(shù)據(jù)保存到磁盤中,重啟時(shí)候可以再次進(jìn)行加載使用
支持類型豐富,string - list - hash - set - Ordered Sets 二進(jìn)制案例
原子性-redis所有的操作都是原子性的,要么成功執(zhí)行要么完全失敗,單個(gè)操作是原子性的,多個(gè)操作也支持事務(wù),用multi和exec指令包起來

Redis不僅僅支持簡(jiǎn)單的key-value類型的數(shù)據(jù)谒获,同時(shí)還提供list平挑,set安拟,zset癞志,hash等數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)锣笨。
Redis支持?jǐn)?shù)據(jù)的備份驻啤,即master-slave模式的數(shù)據(jù)備份菲驴。

key 相關(guān)命令:

set test bb // 生成 key:test  val:bb 的值

127.0.0.1:6379[5]> dump test
"\x00\x02bb\x06\x00\x8aa\xb7\xdaa\xe7\xa18" //返回序列化的值
--------------------------------------------
127.0.0.1:6379[5]> exists teset
(integer) 0
127.0.0.1:6379[5]> exists test //判斷key是否存在,存在為1否則為0
(integer) 1
--------------------------------------------
127.0.0.1:6379[5]> expire test 10 //為給定 key 設(shè)置過期時(shí)間骑冗,以秒計(jì)
(integer) 1
127.0.0.1:6379[5]> get test
"bb"
127.0.0.1:6379[5]> get test
--------------------------------------------
127.0.0.1:6379[5]> expireat test 1999999999 //為給定 key 設(shè)置過期時(shí)間赊瞬,用unix時(shí)間戳
--------------------------------------------
PEXPIRE key milliseconds
127.0.0.1:6379[5]> pexpire test 10000 //設(shè)置 key 的過期時(shí)間以毫秒計(jì)
(integer) 1
--------------------------------------------
keys pattern
127.0.0.1:6379[5]> keys *a*
1) "aa"
--------------------------------------------
ttl 返回key的生序時(shí)間以秒計(jì) pttl為毫秒
127.0.0.1:6379[5]> ttl aa //key存在并且有設(shè)置有效期返回剩余時(shí)間
(integer) 432851313
127.0.0.1:6379[5]> ttl bb//key不存在返回-2
(integer) -2
127.0.0.1:6379[5]> ttl cc//key 存在并且永久有效返回-1
(integer) -1
--------------------------------------------
RANDOMKEY 返回隨機(jī)key先煎,當(dāng)數(shù)據(jù)庫為空的時(shí)候返回nil
--------------------------------------------
rename 改名,改名成功返回ok, 名字相同或者old_key_name 不存在返回error,如果new_key_name已經(jīng)存在會(huì)覆蓋
renamenx 改名成功返回1, 名字已經(jīng)存在返回0 不會(huì)修改成功
--------------------------------------------
type key //返回key的數(shù)據(jù)類型
127.0.0.1:6379[5]> lpush tt hello
(integer) 1
127.0.0.1:6379[5]> type tt
list

字符串string相關(guān)操作:

SET key value  //存儲(chǔ)鍵值對(duì)aa=>bb
GET key //返回 key 的值,如果 key 不存在時(shí)巧涧,返回 nil薯蝎。 如果 key 不是字符串類型,那么返回一個(gè)錯(cuò)誤
--------------------------------------------
GETRANGE KEY 0 3//命令用于獲取存儲(chǔ)在指定 key 中字符串的子字符串谤绳。字符串的截取范圍由 start 和 end 兩個(gè)偏移量決定(包括 start 和 end 在內(nèi))
127.0.0.1:6379[5]> set kk 123456789
OK
127.0.0.1:6379[5]> getrange kk 0 3
"1234"
--------------------------------------------
GETSET KEY //返回給定 key 的舊值占锯。 當(dāng) key 沒有舊值時(shí),即 key 不存在時(shí)缩筛,返回 nil 消略。
127.0.0.1:6379[5]> get aa
"2"
127.0.0.1:6379[5]> getset aa opop
"2"
127.0.0.1:6379[5]> get opop
(nil)
127.0.0.1:6379[5]> get aa
"opop"
127.0.0.1:6379[5]> getset gg oop
(nil)
--------------------------------------------
SETEX  Redis Setex 命令為指定的 key 設(shè)置值及其過期時(shí)間。如果 key 已經(jīng)存在瞎抛, SETEX 命令將會(huì)替換舊的值艺演。
127.0.0.1:6379[5]> setex testaa 20 valueB
OK
127.0.0.1:6379[5]> ttl testaa
(integer) 10
127.0.0.1:6379[5]> ttl testaa
(integer) 8
127.0.0.1:6379[5]> setex testaa 20 valueh
OK
127.0.0.1:6379[5]> ttl testaa
(integer) 18
--------------------------------------------
SETNX 命令在指定的 key 不存在時(shí),為 key 設(shè)置指定的值婿失。成功返回1 失敗返回0
127.0.0.1:6379[5]> get aa
"opop"
127.0.0.1:6379[5]> setnx aa oop
(integer) 0
127.0.0.1:6379[5]> setnx aab oop
(integer) 1
127.0.0.1:6379[5]> get aa
"opop"
127.0.0.1:6379[5]> get aab
"oop"
--------------------------------------------
SETRANGE KEY 0 VALUE //命令用指定的字符串覆蓋給定 key 所儲(chǔ)存的字符串值,覆蓋的位置從偏移量 offset 開始,返回被修改后的字符串長度

127.0.0.1:6379[5]> get kk
"123456789"
127.0.0.1:6379[5]> setrange kk 0 abc
(integer) 9
127.0.0.1:6379[5]> get kk
"abc456789"
--------------------------------------------
STRLEN 判斷字符串長度啄寡, 當(dāng) key 不存在時(shí)豪硅,返回 0。
127.0.0.1:6379[5]> strlen kk
(integer) 9
--------------------------------------------
Msetnx  當(dāng)所有 key 都成功設(shè)置挺物,返回 1 懒浮。 如果所有給定 key 都設(shè)置失敗(至少有一個(gè) key 已經(jīng)存在),那么返回 0 识藤。
127.0.0.1:6379[5]> msetnx ah 1 bh 1 ch 1
(integer) 1
127.0.0.1:6379[5]> msetnx ah 2 dh 2 fh 2
(integer) 0
--------------------------------------------
Incr 在指定key上+1砚著,返回值為+1完成后的值
Incrby 在指定key上+上指定的值
127.0.0.1:6379[5]> get aa
"211"
127.0.0.1:6379[5]> incrby aa 1000
(integer) 1211
Incrbyfloat  在指定key上+上指定的浮點(diǎn)型值,如果夠整數(shù)會(huì)自動(dòng)把0去掉
127.0.0.1:6379[5]> set aa 10.5
OK
127.0.0.1:6379[5]> get aa
"10.5"
127.0.0.1:6379[5]> incrbyfloat aa 0.21
"10.71"
127.0.0.1:6379[5]> incrbyfloat aa 0.29000000000
"11"
decr 減1痴昧,decrby 100 減少100稽穆,返回都是計(jì)算完成之后的數(shù)
127.0.0.1:6379[5]> decr aa
(integer) 10
127.0.0.1:6379[5]> decr aa
(integer) 9
127.0.0.1:6379[5]> decrby aa 5
(integer) 4
127.0.0.1:6379[5]> incr aa
(integer) 5
127.0.0.1:6379[5]> decr aa
(integer) 4
--------------------------------------------
Redis Append 命令用于為指定的 key 追加值。
如果 key 已經(jīng)存在并且是一個(gè)字符串赶撰, APPEND 命令將 value 追加到 key 原來的值的末尾舌镶。
如果 key 不存在, APPEND 就簡(jiǎn)單地將給定 key 設(shè)為 value 豪娜,就像執(zhí)行 SET key value 一樣餐胀。
127.0.0.1:6379[5]> decr aa
(integer) 4
127.0.0.1:6379[5]> apend aa uuy
127.0.0.1:6379[5]> append aa u
(integer) 2
127.0.0.1:6379[5]> get aa
"4u"

HASH的值

HDEL 刪除一個(gè)或者多個(gè)hashkey ,返回刪除key的數(shù)量
127.0.0.1:6379[5]> hset hash_test a 1
(integer) 1
127.0.0.1:6379[5]> hset hash_test b 2
(integer) 1
127.0.0.1:6379[5]> hset hash_test c 2
(integer) 1
127.0.0.1:6379[5]> hdel hash_test a b
(integer) 2
127.0.0.1:6379[5]> hkeys hash_test
1) "c"
------------------------------------------------------------------
HEXISTS 判斷hash表的key存不存在,存在返回1不存在返回0
127.0.0.1:6379[5]> hexists hash_test a
(integer) 0
127.0.0.1:6379[5]> hexists hash_test c
(integer) 1
------------------------------------------------------------------
HGET 獲取哈希表字段值瘤载,成功返回對(duì)應(yīng)的value 否灾,失敗返回nil
127.0.0.1:6379[5]> hget hash_test c
"2"
127.0.0.1:6379[5]> hget hash_test ca
(nil)
------------------------------------------------------------------
HGETALL 以列表list 形式 返回哈希表所有數(shù)據(jù),如果不存在返回一個(gè)空list
127.0.0.1:6379[5]> hgetall hash_test
1) "c"
2) "2"
3) "d"
4) "2000"
127.0.0.1:6379[5]> hgetall hash_test1
(empty list or set)

------------------------------------------------------------------
HINCRBY 在指定key上自增 value 鸣奔,value可以為負(fù)數(shù) 墨技,如若key不存在惩阶,會(huì)創(chuàng)建key,并且賦值為value 范圍為64位
127.0.0.1:6379[5]> hincrby hash_test c 1
(integer) 3
127.0.0.1:6379[5]> hincrby hash_test c 10
(integer) 13
127.0.0.1:6379[5]> hincrby hash_test ca 10
(integer) 10
127.0.0.1:6379[5]> hincrby hash_test cii 10
(integer) 10
127.0.0.1:6379[5]> hincrby hash_test cii -3
(integer) 7
------------------------------------------------------------------
HINCRBYFLOAT 在指定key上自增 value 健提,value可以為負(fù)數(shù) 琳猫,如若key不存在,會(huì)創(chuàng)建key
127.0.0.1:6379[5]> hincrbyfloat hash_test cii -6.09
"0.91"
127.0.0.1:6379[5]> hincrbyfloat hash_test ciio -6.09
"-6.09"
------------------------------------------------------------------
HKEYS 獲取哈希列表中所有的key 成功返回list私痹,不存在返回空list
127.0.0.1:6379[5]> hkeys hash_test
1) "c"
2) "d"
3) "ca"
4) "cii"
5) "ciio"
127.0.0.1:6379[5]> hkeys hash_test1
(empty list or set)
------------------------------------------------------------------
HLEN 返回哈希表中的字段數(shù)量,成功返回?cái)?shù)量脐嫂,失敗返回0 
127.0.0.1:6379[5]> hlen hash_test
(integer) 5
127.0.0.1:6379[5]> hlen hash_test1
(integer) 0
------------------------------------------------------------------
HMGET 反對(duì)hash表中的多個(gè)key,如果key不存在返回nil
127.0.0.1:6379[5]> hmget hash_test c d ca
1) "13"
2) "2000"
3) "10"
127.0.0.1:6379[5]> hmget hash_test c d caa
1) "13"
2) "2000"
3) (nil)
------------------------------------------------------------------
HMSET 給hash表中多個(gè)字段賦值,會(huì)覆蓋原來的value
127.0.0.1:6379[5]> hmget hash_test c d caa
1) "13"
2) "2000"
3) (nil)
127.0.0.1:6379[5]> hmset hash_test c 1 d 100 caa 101
OK
127.0.0.1:6379[5]> hmget hash_test c d caa
1) "1"
2) "100"
3) "101"
------------------------------------------------------------------
HSET 當(dāng)hash表中紊遵,key不存在返回為1 账千,key已經(jīng)存在會(huì)覆蓋原值然后返回0
127.0.0.1:6379[5]> hget hash_test c
"100100"
127.0.0.1:6379[5]> hset hash_test c 1
(integer) 0
127.0.0.1:6379[5]> hset hash_test c1 1
(integer) 1
------------------------------------------------------------------
HSETNX 只有當(dāng)hash表中的key不存在時(shí),才會(huì)發(fā)生賦值操作暗膜,成功返回1 失敗返回0 
127.0.0.1:6379[5]> hset hash_test c1 1
(integer) 1
127.0.0.1:6379[5]>
127.0.0.1:6379[5]> hsetnx hash_test c1 2
(integer) 0
127.0.0.1:6379[5]> hsetnx hash_test c2 2
(integer) 1
------------------------------------------------------------------
HVALS  返回hash表中的所有的值匀奏,成功返回所有value的list,失敗返回空list
127.0.0.1:6379[5]> hvals hash_test
1) "1"
2) "100"
3) "10"
4) "0.91"
5) "-6.09"
6) "101"
7) "1"
8) "2"
127.0.0.1:6379[5]> hvals hash_test1
(empty list or set)

LIST 列表命令

BLPOP 移除并且獲取列表的第一個(gè)元素,如果沒有列表沒用值学搜,等待n秒超時(shí)娃善,成功時(shí)返回值為列表名稱 和value ,失敗時(shí)返回 nil和超時(shí)等待時(shí)間
127.0.0.1:6379[5]> lpush list_test first
(integer) 1
127.0.0.1:6379[5]> lpush list_test second
(integer) 2
127.0.0.1:6379[5]> lpush list_test three
(integer) 3
127.0.0.1:6379[5]> blpop list_test 10
1) "list_test"
2) "three"
127.0.0.1:6379[5]> blpop list_test 10
1) "list_test"
2) "second"
127.0.0.1:6379[5]> blpop list_test 10
1) "list_test"
2) "first"
127.0.0.1:6379[5]> blpop list_test 10
(nil)
(10.09s)
------------------------------------------------------------------
BRPOP 移除并且返回列表的最后一個(gè)元素瑞佩,如果沒有值聚磺,會(huì)阻塞列表,直到等待n秒超時(shí)為止
127.0.0.1:6379[5]> lpush list_test first second three
(integer) 3
127.0.0.1:6379[5]> brpop list_test 10
1) "list_test"
2) "first"
127.0.0.1:6379[5]> brpop list_test 10
1) "list_test"
2) "second"
127.0.0.1:6379[5]> brpop list_test 10
1) "list_test"
2) "three"
127.0.0.1:6379[5]> brpop list_test 10
(nil)
(10.10s)

------------------------------------------------------------------
BRPOPLPUSH 返回列表的最后一個(gè)元素,插入到另外一個(gè)列表的頭部炬丸,如果沒有值瘫寝,會(huì)阻塞列表,直到等待n秒超時(shí)為止 ,成功返回獲取的元素值稠炬,失敗返回nil和等待超時(shí)時(shí)間
127.0.0.1:6379[5]> lpush list_test aa
(integer) 1
127.0.0.1:6379[5]> brpoplpush list_test list_test1 4
"aa"
127.0.0.1:6379[5]> brpoplpush list_test list_test1 4
(nil)
(4.07s)
------------------------------------------------------------------
LINDEX 按照索引返回列表中的數(shù)據(jù),也使用負(fù)數(shù)下標(biāo)焕阿,以 -1 表示列表的最后一個(gè)元素, -2 表示列表的倒數(shù)第二個(gè)元素首启,以此類推暮屡。 不移除值
127.0.0.1:6379[5]> lpush list_test first second three four five six seven eight nine ten
(integer) 10
127.0.0.1:6379[5]> lindex list_test 0
"ten"
127.0.0.1:6379[5]> lindex list_test -2 -4
(error) ERR wrong number of arguments for 'lindex' command
127.0.0.1:6379[5]> lindex list_test -2
"second"
127.0.0.1:6379[5]> lindex list_test -3
"three"
127.0.0.1:6379[5]> lindex list_test 3
"seven"
------------------------------------------------------------------
LINSERT LIST BEFORE|AFTER  KEY VALUE  插入
redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSH mylist "World"
(integer) 2
redis> LINSERT mylist BEFORE "World" "There"
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"
redis>
------------------------------------------------------------------
LPOP 從頭部獲取元素 ,
LPUSH從頭部插入一個(gè)或者多個(gè)元素, 插入成功時(shí)候返回列表長度
LPUSHX在一個(gè)已經(jīng)存在的頭部插入一個(gè)或者多個(gè)元素 毅桃,插入成功時(shí)返回列表長度
LRANGE 返回列表數(shù)據(jù)范圍,0從頭開始,-1為從尾部開始第一個(gè)元素
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "a"
2) "a"
3) "a"
4) "nine"
5) "eight"
6) "seven"
7) "six"
8) "five"
9) "four"
127.0.0.1:6379[5]> lrange list_test3 0 -1
------------------------------------------------------------------
LREM  NAME  COUNT VALUE 從列表中移除指定value的count 個(gè)元素栽惶,成功返回移除元素的數(shù)量
127.0.0.1:6379[5]> lrange list_test 0 -1
 1) "b"
 2) "a"
 3) "b"
 4) "a"
 5) "b"
 6) "a"
 7) "nine"
 8) "eight"
 9) "seven"
10) "five"
11) "four"
127.0.0.1:6379[5]>
127.0.0.1:6379[5]>
127.0.0.1:6379[5]> lrem list_test 1 a
(integer) 1
127.0.0.1:6379[5]> lrange list_test 0 -1
 1) "b"
 2) "b"
 3) "a"
 4) "b"
 5) "a"
 6) "nine"
 7) "eight"
 8) "seven"
 9) "five"
10) "four"
127.0.0.1:6379[5]> lrem list_test -1 a
(integer) 1
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "b"
2) "b"
3) "a"
4) "b"
5) "nine"
6) "eight"
7) "seven"
8) "five"
9) "four"
------------------------------------------------------------------
LSET 通過索引來更改數(shù)據(jù)的值,成功返回ok疾嗅,失敗或者越界返回error
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "b"
2) "b"
3) "a"
4) "b"
5) "nine"
6) "eight"
7) "seven"
8) "five"
9) "four"
127.0.0.1:6379[5]> lset list_test 0 c
OK
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "c"
2) "b"
3) "a"
4) "b"
5) "nine"
6) "eight"
7) "seven"
8) "five"
9) "four"
127.0.0.1:6379[5]> lset list_test 10 c
(error) ERR index out of range
127.0.0.1:6379[5]> lset list_test5 0 c
(error) ERR no such key
------------------------------------------------------------------
LTRIM 刪除list外厂,只保留指定區(qū)間 ,包含指定區(qū)間兩個(gè)臨界點(diǎn)
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "c"
2) "b"
3) "a"
4) "b"
5) "nine"
6) "eight"
7) "seven"
8) "five"
9) "four"
127.0.0.1:6379[5]> ltrim list_test 3 -3
OK
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "b"
2) "nine"
3) "eight"
4) "seven"

------------------------------------------------------------------
RPOP 移除列表最后一個(gè)元素
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "b"
2) "nine"
3) "eight"
4) "seven"
127.0.0.1:6379[5]>
127.0.0.1:6379[5]>
127.0.0.1:6379[5]> rpop list_test
"seven"
127.0.0.1:6379[5]> lrange list_test 0 -1
1) "b"
2) "nine"
3) "eight"
------------------------------------------------------------------
RPUSH 往列表最后追加元素 執(zhí)行  成功后,返回列表的長度,列表不存在會(huì)被創(chuàng)建
rpushx 往列表最后追加元素 執(zhí)行  成功后代承,返回列表的長度,列表不存在會(huì)返回0

set集合 特性:redis的set是一個(gè)string的無序集合汁蝶。集合成員是唯一的,這就意味著集合中不能出現(xiàn)相同的元素 redis的集合是通過hash表來實(shí)現(xiàn)的,所以添加掖棉、刪除墓律、查找的復(fù)雜度都是O(1),結(jié)合最大的元素是2的32次方 -1

SADD 插入一個(gè)或者多個(gè)集合元素,成功返回插入新元素?cái)?shù)量
127.0.0.1:6379[5]> sadd set_test a b c d a e f
(integer) 6
127.0.0.1:6379[5]> sadd set_test a
(integer) 0
------------------------------------------------------------------
SCARD 返回集合中的元素?cái)?shù)量
127.0.0.1:6379[5]> scard set_test
(integer) 6
------------------------------------------------------------------
SDIFF 返回前一個(gè)集合 和后一個(gè)集合的差集幔亥,只返回前一個(gè)集合的差集key
127.0.0.1:6379[5]> sadd set_test2 a b c
(integer) 3
127.0.0.1:6379[5]> sdiff set_test set_test2
1) "e"
2) "d"
3) "f"
SINTER 返回前一個(gè)集合 和后一個(gè)集合的交集耻讽,只返回前一個(gè)集合的交集key
SDIFFSTRORE 生成一個(gè)新的集合 保存前一個(gè)集合 和后一個(gè)集合的差集
SINTERSTORE 生成一個(gè)新的集合 保存前一個(gè)集合 和后一個(gè)集合的交集
------------------------------------------------------------------
 SISMEMBER 判斷一個(gè)元素是否在集合內(nèi) 成功返回1 失敗返回0
127.0.0.1:6379[5]> sismember set_test a
(integer) 1
127.0.0.1:6379[5]> sismember set_test ab
(integer) 0
------------------------------------------------------------------
SMEMBERS key 返回集合中的所有成員
127.0.0.1:6379[5]> smembers set_test
1) "f"
2) "e"
3) "c"
4) "d"
5) "a"
6) "b"
------------------------------------------------------------------
SMOVE 移動(dòng)集合元素到另外一個(gè)集合中, 如果目標(biāo)結(jié)合不存在會(huì)被創(chuàng)建,如果移動(dòng)成功返回1 帕棉,如果移動(dòng)元素失敗返回0 针肥, 目標(biāo)集合元素存不存在都不影響返回
127.0.0.1:6379[5]> smembers set_test
1) "e"
2) "c"
3) "d"
4) "a"
5) "b"
127.0.0.1:6379[5]> sadd test_xx d
(integer) 1
127.0.0.1:6379[5]> smove set_test  test_xx d
(integer) 1
127.0.0.1:6379[5]> smembers set_test
1) "e"
2) "c"
3) "a"
4) "b"
127.0.0.1:6379[5]> smembers test_xx
1) "d"
2) "f"
------------------------------------------------------------------
SPOP 隨機(jī)移除并返回集合中的一個(gè)元素
127.0.0.1:6379[5]> spop set_test
"b"
------------------------------------------------------------------
SRANDMEMBER 返回一個(gè)或者多個(gè)元素,但是不移除
127.0.0.1:6379[5]> srandmember set_test 2
1) "e"
2) "a"
127.0.0.1:6379[5]> srandmember set_test 2
1) "e"
2) "c"
------------------------------------------------------------------
SREM 刪除一個(gè)或者多個(gè)元素香伴,返回成功刪除元素?cái)?shù)量
127.0.0.1:6379[5]> srem set_test e c
(integer) 0
127.0.0.1:6379[5]> smembers set_test
1) "a"
127.0.0.1:6379[5]> srem set_test a k l
(integer) 1
------------------------------------------------------------------

有序集合

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慰枕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子即纲,更是在濱河造成了極大的恐慌具帮,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件低斋,死亡現(xiàn)場(chǎng)離奇詭異蜂厅,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)膊畴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門掘猿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人巴比,你說我怎么就攤上這事术奖〗缸瘢” “怎么了轻绞?”我有些...
    開封第一講書人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長佣耐。 經(jīng)常有香客問我政勃,道長,這世上最難降的妖魔是什么兼砖? 我笑而不...
    開封第一講書人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任奸远,我火速辦了婚禮,結(jié)果婚禮上讽挟,老公的妹妹穿的比我還像新娘懒叛。我一直安慰自己,他們只是感情好耽梅,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開白布薛窥。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诅迷。 梳的紋絲不亂的頭發(fā)上佩番,一...
    開封第一講書人閱讀 52,793評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音罢杉,去河邊找鬼趟畏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛滩租,可吹牛的內(nèi)容都是我干的赋秀。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼持际,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼沃琅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蜘欲,我...
    開封第一講書人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤益眉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后姥份,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體郭脂,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年澈歉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了展鸡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡埃难,死狀恐怖莹弊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涡尘,我是刑警寧澤忍弛,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站考抄,受9級(jí)特大地震影響细疚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜川梅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一疯兼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贫途,春花似錦吧彪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春啦扬,著一層夾襖步出監(jiān)牢的瞬間中狂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來泰國打工扑毡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胃榕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓瞄摊,卻偏偏與公主長得像勋又,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子换帜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

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

  • 五種數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介 Redis是使用C編寫的楔壤,內(nèi)部實(shí)現(xiàn)了一個(gè)struct結(jié)構(gòu)體redisObject對(duì)象,通過結(jié)構(gòu)體...
    彥幀閱讀 6,952評(píng)論 0 14
  • 使用緩存是系統(tǒng)性能優(yōu)化的第一黃金法則惯驼。 緩存的設(shè)計(jì)和使用對(duì)一個(gè)系統(tǒng)的性能至關(guān)重要蹲嚣,平時(shí)接觸到項(xiàng)目無論多少也都會(huì)在某...
    刀刃丿閱讀 1,347評(píng)論 0 6
  • 一、Redis 1祟牲、概述 Redis是速度非诚缎螅快的非關(guān)系型內(nèi)存鍵值數(shù)據(jù)庫,可以存儲(chǔ)鍵和物種不同類型的值之間的映射说贝。...
    落地生涯閱讀 784評(píng)論 0 3
  • Redis是一個(gè) Key-Value 存儲(chǔ)系統(tǒng)乡恕。和 Memcached 類似言询,它支持存儲(chǔ)的 value 類型相對(duì)更...
    vivi_wong閱讀 13,351評(píng)論 2 4
  • 1.摘要 Redis(REmote DIctionary Server) 是一個(gè)開源的使用ANSI C語言編寫、遵...
    筆名輝哥閱讀 1,310評(píng)論 0 51