久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      簡簡單單介紹Redis使用教程

      簡簡單單介紹Redis使用教程

      一、Redis簡介
      什么是Redis?全稱:REmote DIctionary Server,是可支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value高性能數(shù)據(jù)庫,并提供多種語言的API,它通常被稱為數(shù)據(jù)結(jié)構(gòu)服務器,因為值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型:
      String: 字符串
      Hash: 散列
      List: 列表
      Set: 集合
      Sorted Set: 有序集合
      是相對于關系型數(shù)據(jù)庫來說的非關系型數(shù)據(jù)庫。

      推薦(免費):redis

      二、優(yōu)勢優(yōu)點
      Redis 與其他 key – value 緩存產(chǎn)品有以下三個特點:

      • Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進行使用。
      • Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
      • Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

      三、Redis安裝
      Redis安裝很簡單,下載地址:https://github.com/MSOpenTech/redis/releases。然后下載“Redis-x64-xx.x.xxx.zip”放入硬盤自己喜歡的位置解壓出來即可,雙擊“redis-server.exe”則按照默認配置啟動Redis服務了;雙擊“redis-cli.exe”打開客戶端控制臺可以進行命令操作Redis服務了。
      也可:
      打開一個 cmd 窗口 使用cd命令切換目錄到 C:redis 運行 redis-server.exe redis.windows.conf
      執(zhí)行redis-cli.exe -h 127.0.0.1 -p 6379 進入到客戶端模式 ,
      “-h” 指定Redis服務器主機
      “-p” 指定Redis服務器端口

      四、Redis配置
      Redis 的配置文件位于 Redis 安裝目錄下,文件名為 redis.conf。
      你可以通過 **“CONFIG ”**命令查看或設置配置項。

      CONFIG GET 'CONFIG_SETTING_NAME' //獲取對應的參數(shù)配置 CONFIG GET * //獲取所有的參數(shù)配置
      CONFIG SET "CONFIG_SETTING_NAME" "NEW_CONFIG_VALUE"//設置對應的參數(shù)值

      參數(shù)說明
      redis.conf 配置項說明如下:

      1.Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程

          daemonize no

      2.當Redis以守護進程方式運行時,Redis默認會把pid寫入/var/run/redis.pid文件,可以通過pidfile指定

          pidfile /var/run/redis.pid

      3.指定Redis監(jiān)聽端口,默認端口為6379,作者在自己的一篇博文中解釋了為什么選用6379作為默認端口,因為6379在手機按鍵上MERZ對應的號碼,而MERZ取自意大利歌女Alessia Merz的名字

          port 6379

      4.綁定的主機地址

          bind 127.0.0.1

      5.當 客戶端閑置多長時間后關閉連接,如果指定為0,表示關閉該功能

        timeout 300

      6.指定日志記錄級別,Redis總共支持四個級別:debug、verbose、notice、warning,默認為verbose

       loglevel verbose

      7.日志記錄方式,默認為標準輸出,如果配置Redis為守護進程方式運行,而這里又配置為日志記錄方式為標準輸出,則日志將會發(fā)送給/dev/null

          logfile stdout

      8.設置數(shù)據(jù)庫的數(shù)量,默認數(shù)據(jù)庫為0,可以使用SELECT 命令在連接上指定數(shù)據(jù)庫id

          databases 16

      9.指定在多長時間內(nèi),有多少次更新操作,就將數(shù)據(jù)同步到數(shù)據(jù)文件,可以多個條件配合

          save <seconds> <changes>

      Redis默認配置文件中提供了三個條件:

          save 900 1      save 300 10      save 60 10000

      分別表示900秒(15分鐘)內(nèi)有1個更改,300秒(5分鐘)內(nèi)有10個更改以及60秒內(nèi)有10000個更改。

      10.指定存儲至本地數(shù)據(jù)庫時是否壓縮數(shù)據(jù),默認為yes,Redis采用LZF壓縮,如果為了節(jié)省CPU時間,可以關閉該選項,但會導致數(shù)據(jù)庫文件變的巨大

      rdbcompression yes

      11.指定本地數(shù)據(jù)庫文件名,默認值為dump.rdb

      dbfilename dump.rdb

      12.指定本地數(shù)據(jù)庫存放目錄

      dir ./

      13.設置當本機為slav服務時,設置master服務的IP地址及端口,在Redis啟動時,它會自動從master進行數(shù)據(jù)同步

      slaveof <masterip> <masterport>

      14.當master服務設置了密碼保護時,slav服務連接master的密碼

      masterauth <master-password>

      15.設置Redis連接密碼,如果配置了連接密碼,客戶端在連接Redis時需要通過AUTH 命令提供密碼,默認關閉

      requirepass foobared

      16.設置同一時間最大客戶端連接數(shù),默認無限制,Redis可以同時打開的客戶端連接數(shù)為Redis進程可以打開的最大文件描述符數(shù),如果設置 maxclients 0,表示不作限制。當客戶端連接數(shù)到達限制時,Redis會關閉新的連接并向客戶端返回max number of clients reached錯誤信息

      maxclients 128

      17.指定Redis最大內(nèi)存限制,Redis在啟動時會把數(shù)據(jù)加載到內(nèi)存中,達到最大內(nèi)存后,Redis會先嘗試清除已到期或即將到期的Key,當此方法處理 后,仍然到達最大內(nèi)存設置,將無法再進行寫入操作,但仍然可以進行讀取操作。Redis新的vm機制,會把Key存放內(nèi)存,Value會存放在swap區(qū)

      maxmemory <bytes>

      18.指定是否在每次更新操作后進行日志記錄,Redis在默認情況下是異步的把數(shù)據(jù)寫入磁盤,如果不開啟,可能會在斷電時導致一段時間內(nèi)的數(shù)據(jù)丟失。因為 redis本身同步數(shù)據(jù)文件是按上面save條件來同步的,所以有的數(shù)據(jù)會在一段時間內(nèi)只存在于內(nèi)存中。默認為no

      appendonly no

      19.指定更新日志文件名,默認為appendonly.aof

      appendfilename appendonly.aof

      20.指定更新日志條件,共有3個可選值:
      no:表示等操作系統(tǒng)進行數(shù)據(jù)緩存同步到磁盤(快)
      always:表示每次更新操作后手動調(diào)用fsync()將數(shù)據(jù)寫到磁盤(慢,安全)
      everysec:表示每秒同步一次(折衷,默認值)

      appendfsync everysec

      21.指定是否啟用虛擬內(nèi)存機制,默認值為no,簡單的介紹一下,VM機制將數(shù)據(jù)分頁存放,由Redis將訪問量較少的頁即冷數(shù)據(jù)swap到磁盤上,訪問多的頁面由磁盤自動換出到內(nèi)存中(在后面的文章我會仔細分析Redis的VM機制)

      vm-enabled no

      22.虛擬內(nèi)存文件路徑,默認值為/tmp/redis.swap,不可多個Redis實例共享

      vm-swap-file /tmp/redis.swap

      23.將所有大于vm-max-memory的數(shù)據(jù)存入虛擬內(nèi)存,無論vm-max-memory設置多小,所有索引數(shù)據(jù)都是內(nèi)存存儲的(Redis的索引數(shù)據(jù) 就是keys),也就是說,當vm-max-memory設置為0的時候,其實是所有value都存在于磁盤。默認值為0

      vm-max-memory 0

      24.Redis swap文件分成了很多的page,一個對象可以保存在多個page上面,但一個page上不能被多個對象共享,vm-page-size是要根據(jù)存儲的 數(shù)據(jù)大小來設定的,作者建議如果存儲很多小對象,page大小最好設置為32或者64bytes;如果存儲很大大對象,則可以使用更大的page,如果不 確定,就使用默認值

      vm-page-size 32

      25.設置swap文件中的page數(shù)量,由于頁表(一種表示頁面空閑或使用的bitmap)是在放在內(nèi)存中的,,在磁盤上每8個pages將消耗1byte的內(nèi)存。

       vm-pages 134217728

      26.設置訪問swap文件的線程數(shù),最好不要超過機器的核數(shù),如果設置為0,那么所有對swap文件的操作都是串行的,可能會造成比較長時間的延遲。默認值為4

      vm-max-threads 4

      27.設置在向客戶端應答時,是否把較小的包合并為一個包發(fā)送,默認為開啟

      glueoutputbuf yes

      28.指定在超過一定的數(shù)量或者最大的元素超過某一臨界值時,采用一種特殊的哈希算法

      hash-max-zipmap-entries 64 hash-max-zipmap-value 512

      29.指定是否激活重置哈希,默認為開啟(后面在介紹Redis的哈希算法時具體介紹)

      activerehashing yes

      30.指定包含其它的配置文件,可以在同一主機上多個Redis實例之間使用同一份配置文件,而同時各個實例又擁有自己的特定配置文件

      include /path/to/local.conf

      五、Redis 數(shù)據(jù)類型
      String: 字符串
      Hash: 散列
      List: 列表
      Set: 集合
      Sorted Set: 有序集合

      1.String(字符串)

      string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。
      string類型是二進制安全的。意思是redis的string可以包含任何數(shù)據(jù)。比如jpg圖片或者序列化的對象 。
      string類型是Redis最基本的數(shù)據(jù)類型,一個鍵最大能存儲512MB。

      redis 127.0.0.1:6379> SET name "xlosy" OK redis 127.0.0.1:6379> GET name "xlosy"

      在以上實例中我們使用了 Redis 的 SET 和 GET 命令。鍵為 name,對應的值為 xlosy。

      2.Hash(哈希)
      Redis hash 是一個鍵值(key=>value)對集合。
      Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象。

      redis> HMSET myhash field1 "Hello" field2 "World" "OK" redis> HGET myhash field1 "Hello" redis> HGET myhash field2 "World"

      實例中我們使用了 Redis HMSET, HGET 命令,HMSET 設置了兩個 field=>value 對, HGET 獲取對應 field 對應的 value。

      3.List(列表)
      Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。

      redis 127.0.0.1:6379> lpush xlosy redis (integer) 1 redis 127.0.0.1:6379> lpush xlosy mongodb (integer) 2 redis 127.0.0.1:6379> lpush xlosy rabitmq (integer) 3 redis 127.0.0.1:6379> lrange xlosy 0 10 1) "rabitmq" 2) "mongodb" 3) "redis"

      列表最多可存儲 232 – 1 元素 (4294967295, 每個列表可存儲40多億)。

      4.Set(集合)
      Redis的Set是string類型的無序集合。
      集合是通過哈希表實現(xiàn)的,所以添加,刪除,查找的復雜度都是O(1)。

      redis 127.0.0.1:6379> sadd xlosy redis (integer) 1 redis 127.0.0.1:6379> sadd xlosy mongodb (integer) 1 redis 127.0.0.1:6379> sadd xlosy rabitmq (integer) 1 redis 127.0.0.1:6379> sadd xlosy rabitmq (integer) 0 redis 127.0.0.1:6379> smembers xlosy  1) "redis" 2) "rabitmq" 3) "mongodb"

      注意:以上實例中 rabitmq 添加了兩次,但根據(jù)集合內(nèi)元素的唯一性,第二次插入的元素將被忽略。
      集合中最大的成員數(shù)為 232 – 1(4294967295, 每個集合可存儲40多億個成員)。

      5.zset(sorted set:有序集合)
      Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。
      不同的是每個元素都會關聯(lián)一個double類型的分數(shù)。redis正是通過分數(shù)來為集合中的成員進行從小到大的排序。
      zset的成員是唯一的,但分數(shù)(score)卻可以重復。

      redis 127.0.0.1:6379> zadd xlosy 0 redis (integer) 1 redis 127.0.0.1:6379> zadd xlosy 0 mongodb (integer) 1 redis 127.0.0.1:6379> zadd xlosy 0 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd xlosy 0 rabitmq (integer) 0 redis 127.0.0.1:6379> > ZRANGEBYSCORE xlosy 0 1000 1) "mongodb" 2) "rabitmq" 3) "redis"

      六、Redis命令

      Ping:命令驗證服務是否啟動

      $redis-cli -h 127.0.0.1 -p 6379 -a "mypass"//“-h”是主機地址,“-p”是主機端口,“-a”是主機密碼 redis 127.0.0.1:6379> PING PONG

      如果執(zhí)行ping命令后輸出pong則表示Redis服務器運行正常。

      **1).Redis對鍵(key)操作的命令 **

      SET: 添加鍵值

      redis 127.0.0.1:6379> SET xlosykey redis OK

      DEL:刪除已經(jīng)存在的鍵值

      redis 127.0.0.1:6379> DEL xlosykey  (integer) 1

      1 DEL key
      該命令用于在 key 存在時刪除 key。
      2 DUMP key
      序列化給定 key ,并返回被序列化的值。
      3 EXISTS key
      檢查給定 key 是否存在。
      4 EXPIRE key seconds
      為給定 key 設置過期時間。
      5 EXPIREAT key timestamp
      EXPIREAT 的作用和 EXPIRE 類似,都用于為 key 設置過期時間。 不同在于 EXPIREAT 命令接受的時間參數(shù)是 UNIX 時間戳(unix timestamp)。
      6 PEXPIRE key milliseconds
      設置 key 的過期時間以毫秒計。
      7 PEXPIREAT key milliseconds-timestamp
      設置 key 過期時間的時間戳(unix timestamp) 以毫秒計
      8 KEYS pattern
      查找所有符合給定模式( pattern)的 key 。
      9 MOVE key db
      將當前數(shù)據(jù)庫的 key 移動到給定的數(shù)據(jù)庫 db 當中。
      10 PERSIST key
      移除 key 的過期時間,key 將持久保持。
      11 PTTL key
      以毫秒為單位返回 key 的剩余的過期時間。
      12 TTL key
      以秒為單位,返回給定 key 的剩余生存時間(TTL, time to live)。
      13 RANDOMKEY
      從當前數(shù)據(jù)庫中隨機返回一個 key 。
      14 RENAME key newkey
      修改 key 的名稱
      15 RENAMENX key newkey
      僅當 newkey 不存在時,將 key 改名為 newkey 。
      16 TYPE key
      返回 key 所儲存的值的類型。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號