小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Redis常用的基本語法、命令

 印度阿三17 2019-09-01
原文鏈接:https://www.cnblogs.com/cxxjohnson/p/9072383.html

參考自https://www.cnblogs.com/cxxjohnson/p/9072383.html

1.基于內(nèi)存的key-value數(shù)據(jù)庫
2.基于c語言編寫的,可以支持多種語言的api 
3.支持?jǐn)?shù)據(jù)持久化
4.五種基本數(shù)據(jù)結(jié)構(gòu)

5異??焖伲琑edis數(shù)據(jù)庫完全在內(nèi)存中,因此處理速度非??靤et每秒11萬次,取get 81000次

備注:Redis是單線程,但是這并不意味著會(huì)成為運(yùn)行時(shí)的瓶頸。

string:字符串構(gòu)建其他數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)

hash:哈希列表

 list(可重復(fù)):列表

 set(不可重復(fù)無序):集合,在哈希列表的基礎(chǔ)上實(shí)現(xiàn)

sorted set(不可重復(fù)有序):有序集合

使用場(chǎng)景
1. 去最新n個(gè)數(shù)據(jù)的操作
2. 排行榜,取top n個(gè)數(shù)據(jù) //最佳人氣前10條
3. 精確的設(shè)置過期時(shí)間
4. 計(jì)數(shù)器
5. 實(shí)時(shí)系統(tǒng), 反垃圾系統(tǒng)
6. pub, sub發(fā)布訂閱構(gòu)建實(shí)時(shí)消息系統(tǒng)
7. 構(gòu)建消息隊(duì)列
8. 緩存

cmd訪問redis
redis-cli.exe -h 127.0.0.1 -p 6379


key
    keys * 獲取所有的key
    select 0 選擇第一個(gè)庫
    move myString 1 將當(dāng)前的數(shù)據(jù)庫key移動(dòng)到某個(gè)數(shù)據(jù)庫,目標(biāo)庫有,則不能移動(dòng)
    flush db      清除指定庫
    randomkey     隨機(jī)key
    type key      類型
    
    set key1 value1 設(shè)置key
    get key1    獲取key
    mset key1 value1 key2 value2 key3 value3
    mget key1 key2 key3
    del key1   刪除key
    exists key      判斷是否存在key
    expire key 10   10過期
    pexpire key 1000 毫秒
    persist key     刪除過期時(shí)間

string
    set name cxx
    get name
    getrange name 0 -1        字符串分段
    getset name new_cxx       設(shè)置值,返回舊值
    mset key1 key2            批量設(shè)置
    mget key1 key2            批量獲取
    setnx key value           不存在就插入(not exists)
    setex key time value      過期時(shí)間(expire)
    setrange key index value  從index開始替換value
    incr age        遞增
    incrby age 10   遞增
    decr age        遞減
    decrby age 10   遞減
    incrbyfloat     增減浮點(diǎn)數(shù)
    append          追加
    strlen          長(zhǎng)度
    getbit/setbit/bitcount/bitop    位操作
    
hash
    hset myhash name cxx
    hget myhash name
    hmset myhash name cxx age 25 note "i am notes"
    hmget myhash name age note   
    hgetall myhash               獲取所有的
    hexists myhash name          是否存在
    hsetnx myhash score 100      設(shè)置不存在的
    hincrby myhash id 1          遞增
    hdel myhash name             刪除
    hkeys myhash                 只取key
    hvals myhash                 只取value
    hlen myhash                  長(zhǎng)度

list
    lpush mylist a b c  左插入
    rpush mylist x y z  右插入
    lrange mylist 0 -1  數(shù)據(jù)集合
    lpop mylist  彈出元素
    rpop mylist  彈出元素
    llen mylist  長(zhǎng)度
    lrem mylist count value  刪除
    lindex mylist 2          指定索引的值
    lset mylist 2 n          索引設(shè)值
    ltrim mylist 0 4         刪除key
    linsert mylist before a  插入
    linsert mylist after a   插入
    rpoplpush list list2     轉(zhuǎn)移列表的數(shù)據(jù)
    
set
    sadd myset redis 
    smembers myset       數(shù)據(jù)集合
    srem myset set1         刪除
    sismember myset set1 判斷元素是否在集合中
    scard key_name       個(gè)數(shù)
    sdiff | sinter | sunion 操作:集合間運(yùn)算:差集 | 交集 | 并集
    srandmember          隨機(jī)獲取集合中的元素
    spop                 從集合中彈出一個(gè)元素
    
zset
    zadd zset 1 one
    zadd zset 2 two
    zadd zset 3 three
    zincrby zset 1 one              增長(zhǎng)分?jǐn)?shù)
    zscore zset two                 獲取分?jǐn)?shù)
    zrange zset 0 -1 withscores     范圍值
    zrangebyscore zset 10 25 withscores 指定范圍的值
    zrangebyscore zset 10 25 withscores limit 1 2 分頁
    Zrevrangebyscore zset 10 25 withscores  指定范圍的值
    zcard zset  元素?cái)?shù)量
    Zcount zset 獲得指定分?jǐn)?shù)范圍內(nèi)的元素個(gè)數(shù)
    Zrem zset one two        刪除一個(gè)或多個(gè)元素
    Zremrangebyrank zset 0 1  按照排名范圍刪除元素
    Zremrangebyscore zset 0 1 按照分?jǐn)?shù)范圍刪除元素
    Zrank zset 0 -1    分?jǐn)?shù)最小的元素排名為0
    Zrevrank zset 0 -1  分?jǐn)?shù)最大的元素排名為0
    Zinterstore
    zunionstore rank:last_week 7 rank:20150323 rank:20150324 rank:20150325  weights 1 1 1 1 1 1 1
    
    
排序:
    sort mylist  排序
    sort mylist alpha desc limit 0 2 字母排序
    sort list by it:* desc           by命令
    sort list by it:* desc get it:*  get參數(shù)
    sort list by it:* desc get it:* store sorc:result  sort命令之store參數(shù):表示把sort查詢的結(jié)果集保存起來

訂閱與發(fā)布:
    訂閱頻道:subscribe chat1
    發(fā)布消息:publish chat1 "hell0 ni hao"
    查看頻道:pubsub channels
    查看某個(gè)頻道的訂閱者數(shù)量: pubsub numsub chat1
    退訂指定頻道: unsubscrible chat1   , punsubscribe java.*
    訂閱一組頻道: psubscribe java.*
    
redis事物:
     隔離性,原子性, 
     步驟:  開始事務(wù),執(zhí)行命令,提交事務(wù)
             multi  //開啟事務(wù)
             sadd myset a b c
             sadd myset e f g
             lpush mylist aa bb cc
             lpush mylist dd ff gg

服務(wù)器管理
    dump.rdb
    appendonly.aof
    //BgRewriteAof 異步執(zhí)行一個(gè)aop(appendOnly file)文件重寫
    會(huì)創(chuàng)建當(dāng)前一個(gè)AOF文件體積的優(yōu)化版本
    
    //BgSave 后臺(tái)異步保存數(shù)據(jù)到磁盤,會(huì)在當(dāng)前目錄下創(chuàng)建文件dump.rdb
    //save同步保存數(shù)據(jù)到磁盤,會(huì)阻塞主進(jìn)程,別的客戶端無法連接
    
    //client kill 關(guān)閉客戶端連接
    //client list 列出所有的客戶端
    
    //給客戶端設(shè)置一個(gè)名稱
      client setname myclient1
      client getname
      
     config get port
     //configRewrite 對(duì)redis的配置文件進(jìn)行改寫


rdb 
save 900 1
save 300 10
save 60 10000

aop備份處理
appendonly yes    開啟持久化
appendfsync everysec  每秒備份一次

命令:
bgsave異步保存數(shù)據(jù)到磁盤(快照保存)
lastsave返回上次成功保存到磁盤的unix的時(shí)間戳
shutdown同步保存到服務(wù)器并關(guān)閉redis服務(wù)器
bgrewriteaof文件壓縮處理(命令)

注意:哨兵、讀寫分離、集群、抗壓測(cè)試、主從架構(gòu)這些都是重點(diǎn)問題

來源:https://www./content-2-432401.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多