NOSOL

簡介
    * NoSQL,全名為Not Only SQL,指的是非關(guān)系型的數(shù)據(jù)庫
    * 隨著訪問量的上升,網(wǎng)站的數(shù)據(jù)庫性能出現(xiàn)了問題,于是nosql被設(shè)計出來
    優(yōu)點
        * 高可擴展性
        * 低成本
        * 架構(gòu)的靈活性,半結(jié)構(gòu)化數(shù)據(jù)
        * 分布式計算
        * 沒有復(fù)雜的關(guān)系
    缺點
        * 沒有標(biāo)準(zhǔn)化
        * 最終一致是不直觀的程序
        * 有限的查詢功能(到目前為止)
    類型
        列存儲
        文檔存儲
        key-value存儲
        圖存儲
        對象存儲
        xml數(shù)據(jù)庫
nosql--redis安裝
    安裝
        https://redisdesktop.com/
    下載
        http://download.redis.io/releases/redis-4.0.9.tar.gz
    推薦放到usr/local目錄下
        sudo mv redis-4.0.9/ /usr/local/redis/

進(jìn)入redis目錄
cd /usr/local/redis/redis-4.0.9
如果沒有就進(jìn)入cd /usr/local/redis/
生成
sudo make
測試
sudo make test
安裝
sudo make install
運行
啟動服務(wù)器:在桌面目錄
redis-server
按ctrl+c停止
啟動客戶端:在新終端中運行
redis-cli
運行命令
ping
數(shù)據(jù)操作
鍵的類型是字符串
鍵的命令
查找鍵,參數(shù)支持正則
KEYS pattern
keys *
判斷鍵是否存在,如果存在返回1,不存在返回0
EXISTS key [key ...]
查看鍵對應(yīng)的value的類型
TYPE key
刪除鍵及對應(yīng)的值
DEL key [key ...]
設(shè)置過期時間,以秒為單位
創(chuàng)建時沒有設(shè)置過期時間則一直存在,直到使用使用DEL移除
EXPIRE key seconds
查看有效時間,以秒為單位
TTL key
值的類型分為五種
字符串string
設(shè)置
設(shè)置鍵值
set key value
設(shè)置鍵值及過期時間,以秒為單位
SETEX key seconds value
設(shè)置多個鍵值
MSET key value [key value ...]
獲取
根據(jù)鍵獲取值,如果不存在此鍵則返回nil
GET key
根據(jù)多個鍵獲取多個值
MGET key [key ...]
運算
要求:值是數(shù)字
將key對應(yīng)的value加1
INCR key
將key對應(yīng)的value加整數(shù)
INCRBY key increment
將key對應(yīng)的value減1
DECR key
將key對應(yīng)的value減整數(shù)
DECRBY key decrement
其他
追加值
APPEND key value
獲取值長度
STRLEN key
* 哈希hash
hash用于存儲對象,對象的格式為鍵值對
設(shè)置
設(shè)置單個屬性
HSET key field value
設(shè)置多個屬性
HMSET key field value [field value ...]
獲取
獲取一個屬性的值
HGET key field
獲取多個屬性的值
HMGET key field [field ...]
獲取所有屬性和值
HGETALL key
獲取所有的屬性
HKEYS key
返回包含屬性的個數(shù)
HLEN key
獲取所有值
HVALS key
其它
判斷屬性是否存在
HEXISTS key field
刪除屬性及值
HDEL key field [field ...]
返回值的字符串長度
HSTRLEN key field
* 列表list
設(shè)置
在頭部插入數(shù)據(jù)
LPUSH key value [value ...]
在尾部插入數(shù)據(jù)
RPUSH key value [value ...]
在一個元素的前|后插入新元素
LINSERT key BEFORE|AFTER pivot value
索引可以是負(fù)數(shù),表示偏移量是從list尾部開始計數(shù),如-1表示列表的最后一個元素
LSET key index value
獲取
移除并且返回 key 對應(yīng)的 list 的第一個元素
LPOP key
移除并返回存于 key 的 list 的最后一個元素
RPOP key
偏移量也可以是負(fù)數(shù),表示偏移量是從list尾部開始計數(shù),如-1表示列表的最后一個元素
LRANGE key start stop
其它
偏移量也可以是負(fù)數(shù),表示偏移量是從list尾部開始計數(shù),如-1表示列表的最后一個元素
LTRIM key start stop
返回存儲在 key 里的list的長度
LLEN key
返回列表里索引對應(yīng)的元素
LINDEX key index
* 集合set
特點
* 無序集合
* 元素為string類型
* 元素具有唯一性,不重復(fù)
設(shè)置
添加元素
SADD key member [member ...]
獲取
返回key集合所有的元素
SMEMBERS key
返回集合元素個數(shù)
SCARD key
其他
求多個集合的交集
SINTER key [key ...]
求某集合與其它集合的差集
SDIFF key [key ...]
求多個集合的合集
SUNION key [key ...]
判斷元素是否在集合中
SISMEMBER key member
有序集合zset
特點
* sorted set,有序集合
* 元素為string類型
* 元素具有唯一性,不重復(fù)
* 每個元素都會關(guān)聯(lián)一個double類型的score,表示權(quán)重,通過權(quán)重將元素從小到大排序
* 元素的score可以相同
設(shè)置
添加
ZADD key score member [score member ...]
獲取
返回指定范圍內(nèi)的元素
ZRANGE key start stop
返回元素個數(shù)
ZCARD key
返回有序集key中,score值在min和max之間的成員個數(shù)
ZCOUNT key min max
返回有序集key中,成員member的score值
ZSCORE key member

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Redis key 值是二進(jìn)制安全的,這意味著可以用任何二進(jìn)制序列作為key值,從形如”foo”的簡單字符串到一個...
    壹點零閱讀 1,585評論 0 2
  • 本文為筆者對在學(xué)習(xí)Redis過程中所收集資料的一個總結(jié),目的是為了以后方便回顧相關(guān)的知識,大部分為非原創(chuàng)內(nèi)容。特此...
    EakonZhao閱讀 14,628評論 0 9
  • Redis是啥 Redis是一個開源的key-value存儲系統(tǒng),由于擁有豐富的數(shù)據(jù)結(jié)構(gòu),又被其作者戲稱為數(shù)據(jù)結(jié)構(gòu)...
    一凡呀閱讀 1,232評論 0 5
  • 洗潔精,鋼絲球,一盆又一盆的清水 兩個小時的時光 都是徒勞的,就算清除了 滿身的油污 它也回不到,十七年前的模樣 ...
    吉林良木閱讀 264評論 0 1
  • 酸 昨天寒露 今天小雨 他的小腳趾在晚上 十二點之前骨折 我們住在一間小屋 我叫他一聲哥 我和他都是工人 都來自外...
    郁煙閱讀 292評論 2 3

友情鏈接更多精彩內(nèi)容