<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Redis配置文件詳解和如何使用Jedis操作

          共 4084字,需瀏覽 9分鐘

           ·

          2021-07-08 15:26

          一、配置文件詳解

          俗話說的好呀:行家有木有!出手就知道啊!前面的學(xué)習(xí)只是為了讓我們知道如何使用Redis ,但是我們作為開發(fā)人員,要知其所以然,所以我們得從根本上理解,我們來將Redis.conf文件仔細(xì)的學(xué)習(xí)一下,提升自我!放飛自我!在實際工作中:一些小小的配置,可以讓你脫穎而出!

          1. 單位:Redis配置對大小寫不敏感!

          注意這里:任何寫法都可,不區(qū)分大小寫。

          units are case insensitive so 1GB 1Gb 1gB are all the same.
          復(fù)制代碼
          1. 包含:搭建Redis集群時,可以使用includes包含其他配置文件

          1. 網(wǎng)絡(luò):

          解釋如下所示:

          bind 127.0.0.1 # 綁定的ip 
          protected-mode yes # 保護(hù)模式
          port 6379 # 端口設(shè)置
          復(fù)制代碼
          1. 通用GENERAL

          daemonize yes # 以守護(hù)進(jìn)程的方式運(yùn)行,默認(rèn)是 no,我們需要自己開啟為yes!
          pidfile /var/run/redis_6379.pid # 如果以后臺的方式運(yùn)行,我們就需要指定一個 pid 文件!
          # 日志
          # Specify the server verbosity level.
          # This can be one of:
          # debug (a lot of information, useful for development/testing)
          # verbose (many rarely useful info, but not a mess like the debug level)
          # notice (moderately verbose, what you want in production probably) 生產(chǎn)環(huán)境
          # warning (only very important / critical messages are logged)
          loglevel notice
          logfile "" # 日志的文件位置名
          databases 16 # 數(shù)據(jù)庫的數(shù)量,默認(rèn)是 16 個數(shù)據(jù)庫
          always-show-logo yes # 是否總是顯示LOGO
          復(fù)制代碼
          1. 快照(RDB):持久化,在規(guī)定的時間內(nèi),執(zhí)行了多少次操作則會持久化到文件 .rdb .aof文件

          Redis是內(nèi)存數(shù)據(jù)庫,如果沒有持久化,那么數(shù)據(jù)斷電即失!

          # 如果900s內(nèi),如果至少有一個1 key進(jìn)行了修改,我們及進(jìn)行持久化操作 
          save 900 1
          # 如果300s內(nèi),如果至少10 key進(jìn)行了修改,我們及進(jìn)行持久化操作
          save 300 10
          # 如果60s內(nèi),如果至少10000 key進(jìn)行了修改,我們及進(jìn)行持久化操作
          save 60 10000
          # 我們之后學(xué)習(xí)持久化,會自己定義這個測試!
          復(fù)制代碼
          1. SECURITY 安全

          可以在這里設(shè)置Redis的密碼,默認(rèn)是沒有密碼的。①通過命令設(shè)置

          127.0.0.1:6379> ping
          PONG
          127.0.0.1:6379> config get requirepass #獲取Redis的密碼
          1) "requirepass"
          2) ""
          127.0.0.1:6379> config set requirepass "123456" #設(shè)置Redis的密碼為123456
          OK
          # Ctrl+C 退出當(dāng)前連接
          [root@dyjcomputer bin]# redis-cli -p 6379 #重新連接
          127.0.0.1:6379> ping #測試ping,失敗,所有的命令都顯示無權(quán)限
          (error) NOAUTH Authentication required.
          127.0.0.1:6379> set k1 v1 #失敗,所有的命令都顯示無權(quán)限
          (error) NOAUTH Authentication required.
          127.0.0.1:6379> auth 123456 #auth + 密碼 登陸上去
          OK
          127.0.0.1:6379> ping #正常
          PONG
          127.0.0.1:6379> config get requirepass #獲取密碼,正常
          1) "requirepass"
          2) "123456"
          復(fù)制代碼

          ②通過修改配置文件設(shè)置,找到圖示位置,添加密碼

          重啟Redis測試!

          127.0.0.1:6379> ping
          (error) NOAUTH Authentication required.
          127.0.0.1:6379> auth 123456
          OK
          127.0.0.1:6379> ping
          PONG
          復(fù)制代碼
          1. 限制CLIENTS

          maxclients 10000   #設(shè)置能連接上redis的最大客戶端的數(shù)量 
          maxmemory <bytes> #redis 配置最大的內(nèi)存容量
          maxmemory-policy noeviction #內(nèi)存到達(dá)上限之后的處理策略
          1volatile-lru:只對設(shè)置了過期時間的key進(jìn)行LRU(默認(rèn)值)
          2、allkeys-lru :刪除lru算法的key
          3volatile-random:隨機(jī)刪除即將過期key
          4、allkeys-random:隨機(jī)刪除
          5volatile-ttl :刪除即將過期的
          6、noeviction :永不過期,返回錯誤
          復(fù)制代碼
          1. APPEND ONLY 模式 aof配置(持久化保存)

          appendonly no  #默認(rèn)是不開啟aof模式的,默認(rèn)是使用rdb方式持久化的,在大部分所有的情況下,rdb完全夠用!
          appendfilename "appendonly.aof" #持久化的文件的名字
          # appendfsync always # 每次修改都會 sync。消耗性能
          appendfsync everysec # 每秒執(zhí)行一次 sync,可能會丟失這1s的數(shù)據(jù)!
          # appendfsync no #不執(zhí)行 sync,這個時候操作系統(tǒng)自己同步數(shù)據(jù),速度最快!
          復(fù)制代碼

          二、Jedis操作Redis

          百度的概念性解答我就不貼了,簡單來說,Jedis是Redis官方推薦的Java連接開發(fā)工具! 雖然現(xiàn)在的SpringBoot2.×版本已經(jīng)將Jedis換成了Lettuce,但是我覺得還是有必要了解一下Jedis的使用!

          1. 如何在java項目中整合Jedis并且連接Redis數(shù)據(jù)庫?

          ①創(chuàng)建一個Maven項目

          空的即可~怎么創(chuàng)建我就不贅述了!

          ②導(dǎo)入Jedis和fastjson依賴,耐心等待下載完成!

          <!--導(dǎo)入jedis的包-->
          <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>3.2.0</version>
          </dependency>
          <!--fastjson-->
          <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.2.62</version>
          </dependency>
          復(fù)制代碼

          ③連接Redis測試,此處為了方便測試,連接的是本地的Redis服務(wù),連接遠(yuǎn)程需要更改配置文件和關(guān)閉防火墻,以后會單獨弄一篇文章來介紹這個!

          // 1、 new Jedis 對象即可
          Jedis jedis = new Jedis("127.0.0.1",6379);
          // jedis 所有的命令就是我們之前的所有指令
          System.out.println(jedis.ping());
          復(fù)制代碼

          如圖所示:

          返回PONG,證明連接成功!

          ④常用的API練習(xí):

           		// 1、 new Jedis 對象即可
          Jedis jedis = new Jedis("127.0.0.1",6379);
          jedis.flushDB();//清空當(dāng)前庫的所有數(shù)據(jù)
          jedis.set("name","dingyongjun");
          jedis.set("age","23");
          jedis.set("high","173");
          System.out.println("name:"+jedis.get("name")+"\nage:"+jedis.get("age")+"\nhigh"+jedis.get("high"));
          復(fù)制代碼

          如圖所示:

          		jedis.lpush("list","1","2","3","4");
          System.out.println("list: "+jedis.lrange("list",0,-1));
          復(fù)制代碼

          如圖所示:

          ⑤總結(jié):在Jedis中連接使用Redis,和Redis控制臺命令完全一致,我就不一個個命令再去重復(fù)寫一遍了,后面如果有時間的話,我會把所有的命令給慢慢完善上來!


          作者:大魚丶
          鏈接:https://juejin.cn/post/6981243717319393311
          來源:掘金
          著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。



          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲AV无码成人精品一区 | 无码人妻精品一区二区三千菊电影 | 中国毛片大全 | 成人黄片免费网站 | 五月丁香网操 |