一、配置文件詳解
俗話說的好呀:行家有木有!出手就知道啊!以前的學習只是為了讓我們知道如何使用Redis ,但是我們作為開發人員,要知其所以然,所以我們得從根本上理解,我們來將Redis.conf文件仔細的學習一下,提升自我!放飛自我! 在實際工作中:一些小小的配置,可以讓你脫穎而出!
- 單位:Redis配置對大小寫不敏感!

注意這裡:任何寫法都可,不區分大小寫。
units are case insensitive so 1GB 1Gb 1gB are all the same.- 包含:搭建Redis集群時,可以使用includes包含其他配置文件

- 網絡:

解釋如下所示:
bind 127.0.0.1 # 綁定的ip
protected-mode yes # 保護模式
port 6379 # 端口設置- 通用GENERAL
daemonize yes # 以守護進程的方式運行,默認是 no,我們需要自己開啟為yes!
pidfile /var/run/redis_6379.pid # 如果以後台的方式運行,我們就需要指定一個 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) 生產環境
# warning (only very important / critical messages are logged)
loglevel notice
logfile "" # 日誌的文件位置名
databases 16 # 數據庫的數量,默認是 16 個數據庫
always-show-logo yes # 是否總是顯示LOGO- 快照(RDB):持久化,在規定的時間內,執行了多少次操作則會持久化到文件 .rdb .aof文件
Redis是內存數據庫,如果沒有持久化,那麼數據斷電即失!
# 如果900s內,如果至少有一個1 key進行了修改,我們及進行持久化操作
save 900 1
# 如果300s內,如果至少10 key進行了修改,我們及進行持久化操作
save 300 10
# 如果60s內,如果至少10000 key進行了修改,我們及進行持久化操作
save 60 10000
# 我們之後學習持久化,會自己定義這個測試!- SECURITY 安全
可以在這裡設置Redis的密碼,默認是沒有密碼的。 ①通過命令設置
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" #設置Redis的密碼為123456
OK
# Ctrl+C 退出當前連接
[root@dyjcomputer bin]# redis-cli -p 6379 #重新連接
127.0.0.1:6379> ping #測試ping,失敗,所有的命令都顯示無權限
(error) NOAUTH Authentication required.
127.0.0.1:6379> set k1 v1 #失敗,所有的命令都顯示無權限
(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"②通過修改配置文件設置,找到圖示位置,添加密碼

重啟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- 限制CLIENTS
maxclients 10000 #設置能連接上redis的最大客戶端的數量
maxmemory <bytes> #redis 配置最大的內存容量
maxmemory-policy noeviction #內存到達上限之後的處理策略
1、volatile-lru:只對設置了過期時間的key進行LRU(默認值)
2、allkeys-lru : 刪除lru算法的key
3、volatile-random:隨機刪除即將過期key
4、allkeys-random:隨機刪除
5、volatile-ttl : 刪除即將過期的
6、noeviction : 永不過期,返回錯誤- APPEND ONLY 模式 aof配置(持久化保存)
appendonly no #默認是不開啟aof模式的,默認是使用rdb方式持久化的,在大部分所有的情況下,rdb完全夠用!
appendfilename "appendonly.aof" #持久化的文件的名字
# appendfsync always # 每次修改都會 sync。消耗性能
appendfsync everysec # 每秒執行一次 sync,可能會丟失這1s的數據!
# appendfsync no #不執行 sync,這個時候操作系統自己同步數據,速度最快!二、Jedis操作Redis
百度的概念性解答我就不貼了,簡單來說,Jedis是Redis官方推薦的Java連接開發工具! 雖然現在的SpringBoot2.×版本已經將Jedis換成了Lettuce,但是我覺得還是有必要了解一下Jedis的使用!
- 如何在java項目中整合Jedis並且連接Redis數據庫?
①創建一個Maven項目
空的即可~怎麼創建我就不贅述了!

②導入Jedis和fastjson依賴,耐心等待下載完成!
<!--導入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>③連接Redis測試,此處為了方便測試,連接的是本地的Redis服務,連接遠程需要更改配置文件和關閉防火牆,以後會單獨弄一篇文章來介紹這個!
// 1、 new Jedis 對象即可
Jedis jedis = new Jedis("127.0.0.1",6379);
// jedis 所有的命令就是我們之前的所有指令
System.out.println(jedis.ping());如圖所示:

返回PONG,證明連接成功!
④常用的API練習:
// 1、 new Jedis 對象即可
Jedis jedis = new Jedis("127.0.0.1",6379);
jedis.flushDB();//清空當前庫的所有數據
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"));如圖所示:

jedis.lpush("list","1","2","3","4");
System.out.println("list: "+jedis.lrange("list",0,-1));如圖所示:

⑤總結:在Jedis中連接使用Redis,和Redis控制台命令完全一致,我就不一個個命令再去重複寫一遍了,後面如果有時間的話,我會把所有的命令給慢慢完善上來!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/209389.html
微信掃一掃
支付寶掃一掃