2018-09-06 day19 redis指令和MongoDB

day14-redis-mongodb安裝

1肩碟、redis安裝和啟動
redis-cli -h ip
見文檔
2强窖、redis函數(shù)學(xué)習(xí)
字符串、隊列削祈、集合翅溺、哈希、有序集合
redis數(shù)據(jù)類型
指令
字符串
set key value
get key
getrange key start end
字符串提取髓抑,字符串從0開始咙崎,包含start和end
getset key value
設(shè)置key的值,返回的是舊值吨拍,新值會設(shè)置成功
setex key seconds value
設(shè)置key的值褪猛,過期時間為seconds,如果存在羹饰,替換之伊滋,時間以s為單位
setnx key value
該key不存在的時候才設(shè)置,存在不設(shè)置
setrange key offset value
將該key對應(yīng)的值從offset開始替換為value
strlen key
得到該key對應(yīng)的值的長度
mset
mset key1 value1 key2 value2 key3 value3
同時設(shè)置多個鍵值對
msetnx
同時設(shè)置多個鍵值對队秩,將鍵不存在的時候才設(shè)置
psetex key time value
設(shè)置鍵值對新啼,時間以ms為單位
incr key
為key對應(yīng)的值增加1
如果key不存在,那么先創(chuàng)建這個key刹碾,值為0,然后設(shè)置為1
如果key對應(yīng)的是字符串座柱,那么報錯
incrby key number
在指定的key對應(yīng)的值加incre_amount
decr key
減一
decrby key number
減去指定的數(shù)量
append key value
在指定的key對應(yīng)的值后面追加value
mget
一次獲取多個鍵的值
哈希(對象)
hset key field value
給對應(yīng)的key設(shè)置屬性和屬性值
hsetnx key field value
該key中不存在的field才設(shè)置為value
hget key field
獲取指定key的field屬性
hdel key field1 field2
刪除對應(yīng)key中指定的屬性
hexists key field
對應(yīng)的key中是否存在這個屬性迷帜,存在返回1,不存在返回0
hgetall key
獲取這個key對應(yīng)的所有的屬性和值
hincrby key field number
給這個key對應(yīng)的屬性值加減number
hincrbyfloat key field number
給這個key對應(yīng)的屬性值加減number,number為float值
hkeys key
對應(yīng)的key中所有的屬性名
hvals key
對應(yīng)的key中所有的值
hlen key
對應(yīng)的key有多少個屬性
hmset key field1 value1 field2 value2 ...
同時為key設(shè)置多個屬性和屬性值
hmget key field1 field2 ...
同時獲取key的多個屬性的值
列表 list 隊列
lpush key value1 value2
依次將value1和value2從左邊插入到隊列key中
lrange key start stop
依次的顯示隊列key中從start開始到stop結(jié)束的所有元素
start 0色洞。戏锹。。火诸。 stop -1代表最后一個
lpushx key value
當(dāng)隊列key存在的時候才往隊列頭部插入數(shù)據(jù)锦针,如果隊列不存在,插入失敗
lpop key
彈出隊列key中最左邊的元素
rpush key value1 value2
將value從右邊插入到隊列key中
rpushx key value
將value從右邊插入到隊列key中置蜀,但是前提是隊列key必須存在
rpop key
將隊列key中最右邊的元素彈出
rpoplpush src dst
將隊列src中最右邊的元素插入到隊列dst中的最左邊
ltrim key start stop
將隊列中start-stop區(qū)間之外的所有元素全部干掉
閉區(qū)間
lset key index value
將隊列key中的第index個元素設(shè)置為value
下標(biāo)從0開始
llen key
得到隊列key中元素的個數(shù)
lindex key index
獲取隊列key中第index個元素
lrem key count value
count > 0 從最左邊開始奈搜,干掉count個和value相等的元素
count < 0 從最右邊開始,干掉-count個和value相等的元素
count = 0 干掉隊列key中所有和value相等的元素
linsert key before|after value newvalue
在隊列key中的value的前面或者后面插入newvalue
集合
無序性盯荤、唯一性
sadd key value1 value2 value3
往集合key中插入多個值
scard key
得到集合中元素的個數(shù)
smembers key
查看集合key中所有的元素
sdiff key1 key2 key3
保留key1中key2和key3沒有的元素
sdiffstore dst key1 key2 key3
將這個(sdiff key1 key2 key3)的結(jié)果保留到集合dst中
sinter key1 key2
取出key1和key2的交集
sinterstore dst key1 key2
將sinter key1 key2的結(jié)果保存到集合dst中
sismember key value
判斷value在不在集合key中馋吗,在的話返回1,不在的話返回0
smove src dst value
將集合src中的value元素移動到集合dst中
spop key
從集合key中隨機彈出一個元素
srandmember key count
count > 0 count < 集合元素個數(shù): 返回你一個數(shù)組秋秤,而且數(shù)組元素唯一
count > 集合元素個數(shù):返回你該集合中所有的元素
count < 0:返回給你-count個元素宏粤,但是不保證唯一
srem key value1 value2
移除集合key中的value1和value2元素
sunion key1 key2
得到集合key1和集合key2的并集
sunionstore dst key1 key2
將集合key1和集合key2的并集保存到dst中
有序集合
zadd key score member
將分值為score的成員member加入到有序集合key中
zcard key
得到集合key中元素的個數(shù)
zcount key start stop
得到集合key中分值在start到stop之間的元素的個數(shù)
zincrby key number member
給集合key中指定的member元素的分值加上number

zrange key start stop [withscores]
顯示集合中的元素

zrangebyscore key min max
按照區(qū)間去查找對應(yīng)的元素 min和max
【注】前面的只能寫數(shù)字脚翘,肯定是大于等于,后面的可以寫開區(qū)間绍哎,不寫默認(rèn)就是閉區(qū)間
0 (100 0<= <100
0 100 0<= <=100
默認(rèn)升序排列好
zrank key value
從低到高排列来农,下標(biāo)從0開始
查找value在有序集合key中的排名 顯示的是下標(biāo)
zrem key member1 member2
移除有序集合中指定的元素

zrevrange key start stop withscores
查詢從start到stop之間所有的元素,但是是從大到小排列
zrevrank key value
用法和zrank一樣,但是是從大大小排列的順序
【注】得到的是下標(biāo)
zrevrangebyscore key max min
ZREVRANGEBYSCORE salary +inf -inf # 逆序排列所有成員
zscore key member
返回指定成員的分?jǐn)?shù)
鍵命令
0-15:redis默認(rèn)有16個數(shù)據(jù)庫崇堰,默認(rèn)是在第0個數(shù)據(jù)庫中操作
select num:切換數(shù)據(jù)庫
keys *:所有鍵
del key:刪除鍵
EXPIRE key seconds:給指定的key添加過期時間沃于,單位是s
ttl key:以秒為單位,返回這個鍵剩余的時間秒數(shù)
exists key:判斷一個鍵是否存在
flushdb: 刪除當(dāng)前數(shù)據(jù)庫中所有的鍵
flushall:刪除所有數(shù)據(jù)庫中的鍵
rename key newkey #修改key的名稱(如果新的key的名字存在 則會把存在的key的值 覆蓋掉)
randomkey #隨機返回一個 key
move key db 將鍵移動到指定庫
臨時設(shè)置密碼
獲取密碼
config get requirepass
設(shè)置密碼
config set requirepass 123456
當(dāng)有密碼的時候認(rèn)證
auth 密碼
取消密碼
config set requirepass ''
永久設(shè)置密碼
到配置文件中設(shè)置
requirepass 密碼
配置其他機器可以連接赶袄,打開redis配置文件
bind 127.0.0.1 這句話注釋掉
protected_mode no 這句話yes修改為no
重啟才能生效 干掉這個進(jìn)程重新打開
3揽涮、redis持久化機制rdb
持久化:在內(nèi)存中的數(shù)據(jù)不能保存,如果想要保存需要保存到硬盤中
redis的數(shù)據(jù)就是在內(nèi)存中的饿肺,如果將redis關(guān)掉蒋困,再去打開,數(shù)據(jù)在不在敬辣?
redis有持久化機制雪标,就是rdb機制
stop-writes-on-bgsave-error yes 后臺寫入的時候,停止文件寫入
rdbcompression yes 寫文件的時候有壓縮格式
rdbchecksum yes 對rdb文件校驗
dbfilename dump.rdb 保存的rdb文件的文件名
dir ./ 保存的文件的路徑

可以手動保存 redis-cli bgsave
復(fù)制過來溉跃,替換這個文件村刨,下次啟動的時候就是使用的新的rdb文件
4、python操作redis
import redis
每一個指令到代碼中都是一個函數(shù)撰茎,然后輸入和輸出就會變成函數(shù)的輸入和輸出
見代碼
5嵌牺、MongoDB安裝
MongoDB也是一個數(shù)據(jù)庫,是一個NoSQL龄糊,非關(guān)系型數(shù)據(jù)庫
直接保存在硬盤中逆粹,保存的數(shù)據(jù)類似json格式,字典格式
MongoDB開源免費炫惩,你可以去官網(wǎng)下載安裝包還有文檔僻弹,文檔寫了如何安裝和使用,但是都是英文看不懂他嚷,而且這個源碼包下載不下來蹋绽。
支持-windows、linux筋蓖、mac

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卸耘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扭勉,更是在濱河造成了極大的恐慌鹊奖,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涂炎,死亡現(xiàn)場離奇詭異忠聚,居然都是意外死亡设哗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門两蟀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來网梢,“玉大人,你說我怎么就攤上這事赂毯≌铰玻” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵党涕,是天一觀的道長烦感。 經(jīng)常有香客問我,道長膛堤,這世上最難降的妖魔是什么手趣? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮肥荔,結(jié)果婚禮上绿渣,老公的妹妹穿的比我還像新娘。我一直安慰自己燕耿,他們只是感情好中符,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著誉帅,像睡著了一般淀散。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚜锨,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天吧凉,我揣著相機與錄音,去河邊找鬼踏志。 笑死,一個胖子當(dāng)著我的面吹牛胀瞪,可吹牛的內(nèi)容都是我干的针余。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼凄诞,長吁一口氣:“原來是場噩夢啊……” “哼圆雁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帆谍,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤伪朽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后汛蝙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烈涮,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡朴肺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坚洽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戈稿。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖讶舰,靈堂內(nèi)的尸體忽然破棺而出鞍盗,到底是詐尸還是另有隱情,我是刑警寧澤跳昼,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布般甲,位于F島的核電站,受9級特大地震影響鹅颊,放射性物質(zhì)發(fā)生泄漏敷存。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一挪略、第九天 我趴在偏房一處隱蔽的房頂上張望历帚。 院中可真熱鬧,春花似錦杠娱、人聲如沸挽牢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禽拔。三九已至,卻和暖如春室叉,著一層夾襖步出監(jiān)牢的瞬間睹栖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工茧痕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留野来,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓踪旷,卻偏偏與公主長得像曼氛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子令野,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

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

  • redis是一個以key-value存儲的非關(guān)系型數(shù)據(jù)庫舀患。有五種數(shù)據(jù)類型,string气破、hashes聊浅、list、s...
    林ze宏閱讀 996評論 0 0
  • redis數(shù)據(jù)類型指令 字符串set key valueget keygetrange key start en...
    跟我念一遍閱讀 848評論 0 0
  • PHP-redis中文文檔 phpredis是php的一個擴展,效率是相當(dāng)高有鏈表排序功能低匙,對創(chuàng)建內(nèi)存級的模塊業(yè)務(wù)...
    神秘者007閱讀 2,743評論 0 2
  • 我叫憶念君旷痕,一直過著普普通通的生活,不過一直都有件怪怪的事發(fā)生努咐,就是我每次睡覺的時候苦蒿,總感覺身邊一個人看著我,但我...
    情以堪閱讀 268評論 0 0
  • 影片中报强,爸爸對求子非常渴望拱燃,這種渴望源于一個夢想——為國爭光秉溉! 摔跤為什么一定要有摔跤場?沒有場地碗誉,可...
    酷心夢閱讀 305評論 0 2