中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

石家莊學校網站建設關鍵路徑

石家莊學校網站建設,關鍵路徑,長沙網頁美工培訓,公司就我一個網站制作一、redis與memcache總體對比 1.性能 Redis:只使用單核,平均每一個核上Redis在存儲小數(shù)據時比Memcached性能更高。 Memcached:可以使用多核,而在100k以上的數(shù)據中,Memcached性能要高于Redis。 2.內存使用效率 Mem…

一、redis與memcache總體對比

1.性能

Redis:只使用單核,平均每一個核上Redis在存儲小數(shù)據時比Memcached性能更高。

Memcached:可以使用多核,而在100k以上的數(shù)據中,Memcached性能要高于Redis。

2.內存使用效率

MemCached:使用簡單的key-value存儲,Memcached的內存利用率更高。

Redis:如果采用hash結構來做key-value存儲,由于其組合式的壓縮,其內存利用率會高于Memcached。

3.內存空間和數(shù)據量大小

MemCached:可以修改最大內存,采用LRU算法。Memcached單個key-value大小有限,一個value最大只支持1MB。

Redis:增加了VM的特性,突破了物理內存的限制。Redis單個key-value大小最大支持512MB 。

4.數(shù)據結構支持

MemCached:數(shù)據結構單一,僅用來緩存數(shù)據。

Redis:支持更加豐富的數(shù)據類型,Redis不僅僅支持簡單的k/v類型的數(shù)據,同時還提供list,set,zset,hash等數(shù)據結構的存儲。

可以在服務器端直接對數(shù)據進行豐富的操作,這樣可以減少網絡IO次數(shù)和數(shù)據體積。

5.可靠性

Memcached:只是個內存緩存,對可靠性要求低。MemCached不支持數(shù)據持久化,斷電或重啟后數(shù)據消失,但穩(wěn)定性是有保證的。

Redis:對可靠性要求高,支持數(shù)據持久化和數(shù)據恢復,允許單點故障,同時也會影響部分性能。支持數(shù)據的備份,即master-slave模式的數(shù)據備份。Redis支持數(shù)據的持久化,可以將內存中的數(shù)據保存到磁盤中,重啟的時候可以再次加載進行使用。

6.應用場景

Memcached:動態(tài)系統(tǒng)中減輕數(shù)據庫負載,提升性能;做緩存,適合多讀少寫,大數(shù)據量場景。

Redis:適用于對讀寫效率要求都很高,數(shù)據處理業(yè)務復雜和對安全性要求較高的系統(tǒng)。

二、redis與memcache內存管理機制對比

1. Memcached的內存管理機制

Memcached默認使用Slab Allocation機制管理內存,其主要思想是按照預先規(guī)定的大小,將分配的內存分割成特定長度的塊以存儲相應長度的key-value數(shù)據記錄,以完全解決內存碎片問題。Slab Allocation機制只為存儲外部數(shù)據而設計,也就是說所有的key-value數(shù)據都存儲在Slab Allocation系統(tǒng)里,而Memcached的其它內存請求則通過普通的malloc/free來申請,因為這些請求的數(shù)量和頻率決定了它們不會對整個系統(tǒng)的性能造成影響

2. Redis的內存管理機制

Redis的內存管理主要通過源碼中zmalloc.h和zmalloc.c兩個文件來實現(xiàn)的。Redis為了方便內存的管理,在分配一塊內存之后,會將這塊內存的大小存入內存塊的頭部。如圖 5所示,real_ptr是redis調用malloc后返回的指針。redis將內存塊的大小size存入頭部,size所占據的內存大小是已知的,為 size_t類型的長度,然后返回ret_ptr。當需要釋放內存的時候,ret_ptr被傳給內存管理程序。通過ret_ptr,程序可以很容易的算出 real_ptr的值,然后將real_ptr傳給free釋放內存。Redis采用的是包裝的mallc/free,相較于Memcached的內存管理方法來說,要簡單很多。

三、 Redis和Memcached的集群實現(xiàn)機制對比

1. Memcached的分布式存儲

Memcached本身并不支持分布式,因此只能在客戶端通過像一致性哈希這樣的分布式算法來實現(xiàn)Memcached的分布式存儲。

當客戶端向Memcached集群發(fā)送數(shù)據之前,首先會通過內置的分布式算法計算出該條數(shù)據的目標節(jié)點,然后數(shù)據會直接發(fā)送到該節(jié)點上存儲。但客戶端查詢數(shù)據時,同樣要計算出查詢數(shù)據所在的節(jié)點,然后直接向該節(jié)點發(fā)送查詢請求以獲取數(shù)據。

2. Redis的分布式存儲

Redis在服務器端構建分布式存儲。Redis Cluster是一個實現(xiàn)了分布式且允許單點故障的Redis高級版本,它沒有中心節(jié)點,具有線性可伸縮的功能。其中節(jié)點與節(jié)點之間通過二進制協(xié)議進行通信,節(jié)點與客戶端之間通過ascii協(xié)議進行通信。在數(shù)據的放置策略上,Redis Cluster將整個key的數(shù)值域分成4096個哈希槽,每個節(jié)點上可以存儲一個或多個哈希槽,Redis Cluster支持的最大節(jié)點數(shù)就是4096。Redis Cluster使用的分布式算法:crc16( key ) % HASH_SLOTS_NUMBER。

為了保證單點故障下的數(shù)據可用性,Redis Cluster引入了Master節(jié)點和Slave節(jié)點。在Redis Cluster中,每個Master節(jié)點都會有對應的兩個用于冗余的Slave節(jié)點。這樣在整個集群中,任意兩個節(jié)點的宕機都不會導致數(shù)據的不可用。當Master節(jié)點退出后,集群會自動選擇一個Slave節(jié)點成為新的Master節(jié)點。

一:redis的安裝

1:安裝

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

[root@localhost ~]# yum -y install gcc* zlib-devel

[root@localhost ~]#?tar xvzf redis-4.0.9.tar.gz

[root@localhost ~]#?cd redis-4.0.9/

[root@localhost redis-4.0.9]# make

注意:

在make的時候,可能會出現(xiàn)如下錯誤提示:

解決方法1:用make MALLOC=libc指定內存分配器為 libc進行編譯

解決方法2:make clean && make?distclean

[root@localhost redis-4.0.9]# make PREFIX=/usr/local/redis install

[root@localhost ~]# ln -s /usr/local/redis/bin/* /usr/local/bin/

[root@localhost redis-4.0.9]# cd /root/redis-4.0.9/utils/

[root@localhost utils]# ./install_server.sh

備注:

Config file : /etc/redis/6379.conf ???//配置文件路徑

Log file : /var/log/redis_6379.log ???//日志文件路徑

Data dir : /var/lib/redis/6379 ???//數(shù)據文件路徑

Executable : /usr/local/redis/bin/redis-server ???//可執(zhí)行文件路徑

Cli Executable : /usr/local/redis/bin/redis-cli ???//客戶端命令行工具

2:查看進程

[root@localhost utils]# netstat -anpt | grep redis

3:服務控制

[root@localhost ~]#/etc/init.d/redis_6379 stop

[root@localhost ~]#/etc/init.d/redis_6379 start

[root@localhost ~]#/etc/init.d/redis_6379 restart

[root@localhost ~]#/etc/init.d/redis_6379 status

4:配置參數(shù)的修改

[root@localhost ~]#vim /etc/redis/6379.conf

bind 127.0.0.1?192.168.10.101 ?? //監(jiān)聽的主機地址

port 6379 //端口

daemonize yes //啟用守護進程

pidfile /var/run/redis_6379.pid //指定 PID 文件

loglevel notice //日志級別

logfile /var/log/redis_6379.log //指定日志文件

[root@localhost~]#/etc/init.d/redis_6379 restart

[root@localhost utils]# netstat -anpt | grep redis

二:Redis 命令工具

? redis-server:用于啟動 Redis 的工具;

? redis-benchmark:用于檢測 Redis 在本機的運行效率;

? redis-check-aof:修復 AOF 持久化文件;

? redis-check-rdb:修復 RDB 持久化文件;

? redis-cli:Redis 命令行工具。

1:redis-cli 命令行工具

(1)連接本機redis

[root@localhost ~]# redis-cli

127.0.0.1:6379>

(2)測試redis服務是否啟動

127.0.0.1:6379> ping

PONG

(3)遠程連接

[root@localhost ~]#redis-cli -h 192.168.10.101 -p 6379

2:獲取幫助

? help @<group>:獲取<group>中的命令列表;

? help <command>:獲取某個命令的幫助;

? help <tab>:獲取可能幫助的主題列表。

備注:

? help <tab>:獲取可能幫助的主題列表。

輸入help后,按下tab鍵

(1)查看所有與 List 數(shù)據類型的相關命令

127.0.0.1:6379>help @list

(2)查看 set 命令的命令幫助

127.0.0.1:6379>help set

3:redis-benchmark 測試工具

redis-benchmark 是官方自帶的 Redis 性能測試工具,可以有效的測試 Redis 服務的性能。

? -h:指定服務器主機名;

? -p:指定服務器端口;

? -s:指定服務器 socket;

? -c:指定并發(fā)連接數(shù);

? -n:指定請求數(shù);

? -d:以字節(jié)的形式指定 SET/GET 值的數(shù)據大小;

? -k:1=keep alive 0=reconnect;

? -r:SET/GET/INCR 使用隨機 key, SADD 使用隨機值;

? -P:通過管道傳輸<numreq>請求;

? -q:強制退出 redis。僅顯示 query/sec 值;

? --csv:以 CSV 格式輸出;

? -l:生成循環(huán),永久執(zhí)行測試;

? -t:僅運行以逗號分隔的測試命令列表;

? -I:Idle 模式。僅打開 N 個 idle 連接并等待。

(1)測試請求性能

[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -c 100 -n 100000

備注:

? -h:指定服務器主機名;

? -p:指定服務器端口;

? -c:指定并發(fā)連接數(shù);

? -n:指定請求數(shù);

====== MSET (10 keys) ======

??100000 requests completed in 1.02 seconds

??100 parallel clients ##100個并發(fā)連接

??3 bytes payload

??keep alive: 1

87.25% <= 1 milliseconds ##87.25%的命令執(zhí)行時間小于等于1毫秒

99.90% <= 2 milliseconds

100.00% <= 2 milliseconds

97943.19 requests per second #每秒的請求數(shù)

備注:

向 IP 地址為 192.168.10.101、端口為6379 的 Redis 服務器發(fā)送 100 個并發(fā)連接與100000 個請求測試性能

(2)測試存取性能

[root@localhost ~]#redis-benchmark -h 192.168.10.101 -p 6379 -q -d 100

備注:

? -h:指定服務器主機名;

? -p:指定服務器端口;

? -d:以字節(jié)的形式指定 SET/GET 值的數(shù)據大小;

? -q:強制退出 redis。僅顯示 query/sec 值;

PING_INLINE: 121506.68 requests per second

PING_BULK: 124378.11 requests per second

SET: 121654.50 requests per second

GET: 122100.12 requests per second

INCR: 118764.84 requests per second

LPUSH: 112612.61 requests per second

RPUSH: 118623.96 requests per second

LPOP: 107874.87 requests per second

RPOP: 114416.48 requests per second

SADD: 123304.56 requests per second

HSET: 122249.38 requests per second

SPOP: 128040.97 requests per second

LPUSH (needed to benchmark LRANGE): 116686.12 requests per second

LRANGE_100 (first 100 elements): 40016.00 requests per second

LRANGE_300 (first 300 elements): 11991.85 requests per second

LRANGE_500 (first 450 elements): 7381.71 requests per second

LRANGE_600 (first 600 elements): 5230.67 requests per second

MSET (10 keys): 92421.44 requests per second

備注:

測試存取大小為 100 字節(jié)的數(shù)據包的性能

(1)PING_INLINE:每秒完成多少次PING操作

(2)GET:每秒完成多少次GET key vlaue

(3)SET:每秒完成多少次SET key vlaue

(4)INCR:每秒完成多少次原子計數(shù)

(5)MSET:每秒多個key vlaue請求次數(shù)

(3)set 與 lpush 操作性能

[root@localhost ~]# redis-benchmark -t set,lpush -n 100000 -q

備注:

? -n:指定請求數(shù);

? -q:強制退出 redis。僅顯示 query/sec 值;

? -t:僅運行以逗號分隔的測試命令列表;

SET: 121951.22 requests per second

LPUSH: 127226.46 requests per second

備注:

測試本機上 Redis 服務在進行 set 與 lpush 操作時的性能。

Lpush 命令將一個或多個值插入到列表頭部

三:Redis 數(shù)據庫常用命令

? set:存放數(shù)據,基本的命令格式為 set key value。

? get:獲取數(shù)據,基本的命令格式為 get key。

127.0.0.1:6379>set teacher zhanglong

127.0.0.1:6379>get teacher

1key 相關命令

Redis 數(shù)據庫中,與 key 相關的命令主要包含以下幾種。

1)添加鍵值對

使用 keys 命令可以取符合規(guī)則的鍵值列表,通常情況可以結合*、?等選項來使用。

127.0.0.1:6379>set k1 1

OK

127.0.0.1:6379>set k2 2

OK

127.0.0.1:6379>set k3 3

OK

127.0.0.1:6379>set v1 4

OK

127.0.0.1:6379>set v5 5

OK

(2)查看當前數(shù)據庫中所有鍵

127.0.0.1:6379>KEYS??* ?

1) "teacher"

2) "k1"

3) "k2"

4) "k3"

5) "v1"

6) "v5"

127.0.0.1:6379>set v22 5

OK

(3)查看當前數(shù)據庫中以 v 開頭的數(shù)據

127.0.0.1:6379>KEYS v* ???

1) "v1"

2) "v5"

3) "v22"

(4)查看當前數(shù)據庫中以 v 開頭后面包含任意一位的數(shù)據

127.0.0.1:6379>KEYS v? ??

1) "v1"

2) "v5"

(5)查看當前數(shù)據庫中以 v 開頭 v 開頭后面包含任意兩位的數(shù)據

127.0.0.1:6379>KEYS v?? ??

1) "v22"

2:exists

exists 命令可以判斷鍵值是否存在

127.0.0.1:6379>exists teacher

(integer) 1

結果為1,表示 teacher 鍵是存在

127.0.0.1:6379>exists tea

(integer) 0

結果為0,表示 tea 鍵不存在

3:del

del 命令可以刪除當前數(shù)據庫的指定 key

127.0.0.1:6379>keys *

1) "teacher"

2) "v1"

3) "v22"

4) "k3"

5) "k1"

6) "k2"

7) "v5"

127.0.0.1:6379> del v5

(integer) 1

127.0.0.1:6379>get v5

(nil)

4:type

使用 type 命令可以獲取 key 對應的 value 值類型

127.0.0.1:6379>type k1

string

備注:

redis支持的數(shù)據類型

  • String:最簡單的類型,就是普通的set和get,作key value緩存。?
  • Hash:類似map的一種結構,一般就是可以將結構化的數(shù)據,比如一個對象給緩存在redis里
  • List:List是有序列表,可以通過list存儲一些列表型的數(shù)據結構,類似粉絲列表、文章的評論列表之類的東西
  • Set:Set是無序集合,自動去重。
  • Sorted Set:Sorted Set是排序的set,去重但可以排序,寫進去的時候給一個分數(shù),自動根據分數(shù)排序。

5:rename

rename 命令是對已有 key 進行重命名

在實際使用過程中,建議先用 exists 命令查看目標 key 是否存在,然后再決定是否執(zhí)行 rename 命令,以避免覆蓋重要數(shù)據

127.0.0.1:6379>keys v*

1) "v1"

2) "v22"

127.0.0.1:6379>rename v22 v2

OK

127.0.0.1:6379>keys v*

1) "v1"

2) "v2"

127.0.0.1:6379>get v1

"4"

127.0.0.1:6379>get v2

"5"

127.0.0.1:6379>rename v1 v2

OK

127.0.0.1:6379>get v1

(nil)

127.0.0.1:6379>get v2

"4"

6:renamenx

renamenx 命令的作用是對已有 key 進行重命名,并檢測新名是否存在。

使用renamenx 命令進行重命名時,如果目標 key 存在則不進行重命名。

127.0.0.1:6379>keys *

1) "teacher"

2) "k3"

3) "k1"

4) "k2"

5) "v2"

127.0.0.1:6379>get teacher

"zhanglong"

127.0.0.1:6379>get v2

"4"

127.0.0.1:6379>renamenx v2 teacher

(integer) 0

127.0.0.1:6379>keys *

1) "teacher"

2) "k3"

3) "k1"

4) "k2"

5) "v2"

127.0.0.1:6379>get teacher

"zhanglong"

127.0.0.1:6379>get v2

"4

7:dbsize

dbsize 命令的作用是查看當前數(shù)據庫中 key 的數(shù)目。

127.0.0.1:6379> dbsize

(integer) 5

四:多數(shù)據庫常用命令

1:多數(shù)據庫間切換

Redis 在沒有任何改動的情況下默認包含 16 個數(shù)據庫,數(shù)據庫名稱是用數(shù)字 0-15 來依次命名的

(1)切換至序號為 10 的數(shù)據庫

127.0.0.1:6379>select 10

OK

(2)切換至序號為 15 的數(shù)據庫

127.0.0.1:6379[10]>select 15

OK

(3)切換至序號為 0 的數(shù)據庫

127.0.0.1:6379[15]>select 0

2:多數(shù)據庫間移動數(shù)據

Redis 的多數(shù)據庫在一定程度上是相對獨立的,例如在數(shù)據庫 0 上面存放 k1 的數(shù)據,在其它 1-15 的數(shù)據庫上是無法查看到的。

127.0.0.1:6379>set k1 100

OK

127.0.0.1:6379>get k1

"100"

127.0.0.1:6379>select 1

OK

127.0.0.1:6379[1]>get k1

(nil)

127.0.0.1:6379[1]>select 0 //切換至目標數(shù)據庫 0

OK

127.0.0.1:6379>get k1 //查看目標數(shù)據是否存在

"100"

127.0.0.1:6379>move k1 1 //將數(shù)據庫 0 k1 移動到數(shù)據庫 1

(integer) 1

127.0.0.1:6379>select 1 //切換至目標數(shù)據庫 1

OK

127.0.0.1:6379[1]>get k1 //查看被移動數(shù)據

"100"

127.0.0.1:6379[1]> select 0

OK

127.0.0.1:6379> get k1 //在數(shù)據庫 0 中無法查看到 k1 的值

(nil)

3:清除數(shù)據庫內數(shù)據

清空當前數(shù)據庫數(shù)據,使用 FLUSHDB

命令實現(xiàn);清空所有數(shù)據庫的數(shù)據,使用 FLUSHALL 命令實現(xiàn)

五:Redis 持久化

Redis 的所有數(shù)據都是保存在內存中,然后不定期的通過異步方式保存到磁盤上(這稱為半持久化模式”);也可以把每一次數(shù)據變化都寫入到一個 append only file(aof)里面(這稱為全持久化模式”)

由于 Redis 的數(shù)據都存放在內存中,如果沒有配置持久化,Redis 重啟后數(shù)據就全丟失了。所以,需要開啟 Redis 的持久化功能,將數(shù)據保存到磁盤上,當 Redis 重啟后,可以從磁盤中恢復數(shù)據。Redis 提供兩種方式進行持久化,一種是 RDBRedis DataBase?持久化(原理是將 Reids在內存中的數(shù)據庫記錄定時 dump 到磁盤上的 RDB 持久化),另外一種是 AOFappend only?file持久化(原理是將 Reids 的操作日志以追加的方式寫入文件)。

1:RDB AOF 的區(qū)別

(1)RDB是什么?

默認采用的方法

RDB持久化是把當前進程數(shù)據生成快照保存到硬盤的過程,觸發(fā)RDB持久化過程分為手動觸發(fā)和自動觸發(fā)。

觸發(fā)機制:手動觸發(fā)分別對應為save和bgsave命令

save命令:阻塞當前Redis服務器,直到RDB過程完成為止,對于內存比較多的實例會造成時間阻塞。線上環(huán)境不建議使用。

bgsave命令:Redis進程執(zhí)行fork(用于創(chuàng)建進程的函數(shù))操作創(chuàng)建子進程,RDB持久化過程由子進程負責,完成后自動結束。阻塞只發(fā)生在fork階段。

(2)RDB的優(yōu)缺點:

RDB的優(yōu)點:

RDB是一個緊湊壓縮的二進制文件,代表Redis在某一個時間點上的數(shù)據快照。非常適用于備份,全量復制等場景。比如每6小時執(zhí)行bgsave備份,并把RDB文件拷貝到遠程機器或者文件系統(tǒng)中,用于災難恢復。

Redis加載RDB恢復數(shù)據遠遠快于AOF方式。

RDB的缺點:

RDB方式數(shù)據沒辦法做到實時持久化/秒級持久化。因為bgsave每次運行都有執(zhí)行fork操作創(chuàng)建子進程,屬于重量級操作,頻繁執(zhí)行成本過高。

RDB文件使用特定二進制格式保存,Redis版本演進過程中有多個格式的RDB版本,存在老版本Redis服務無法兼容新版RDB格式的問題。

二、AOF是什么

AOF(append only file)持久化:以獨立日志的方式記錄每次寫命令,重啟時再重新執(zhí)行AOF文件中命令達到恢復數(shù)據的目的。AOF的主要作用是解決了數(shù)據持久化的實時性,目前已經是Redis持久化的主流

二者選擇的標準:

犧牲一些性能,換取更高的緩存一致性(AOF),

寫操作頻繁的時候,不啟用備份來換取更高的性能,待手動運行 save 的時候,再做備份(RDB

備注:

如果redies重啟之后,需要加載一個持久化文件,有限會選擇AOF文件。

如果先開啟了RDB,再開啟AOF,RDB先執(zhí)行了持久化,那么RDB文件中的內容會被AOF覆蓋掉。

3:Redis 持久化配置

(1)RDB 持久化配置

[root@localhost ~]# vim /etc/redis/6379.conf

打開 6379.conf 文件之后,搜索 save,可以看到如下所示配置信息。

  • ? save 900 1:在 900 秒(15 分鐘)之后,如果至少有 1 個 key 發(fā)生變化,則 dump內存快照。
  • ? save 300 10:在 300 秒(5 分鐘)之后,如果至少有 10 個 key 發(fā)生變化,則 dump內存快照。
  • ? save 60 10000:在 60 秒(1 分鐘)之后,如果至少有 10000 個 key 發(fā)生變化,則dump 內存快照。
  • dbfilename dump.rdb?:RDB文件名稱 ##254行
  • dir /var/lib/redis/6379?:RDB文件路徑 ##264行
  • rdbcompression yes?:是否進行壓縮 ##242行

(2)AOF 持久化配置

Redis 的配置文件中存在三種同步方式,它們分別是:

  • appendonly yes??:開啟AOF持久化(默認為no) ##673行
  • appendfilename "appendonly.aof "??:AOF文件名稱 ##677行
  • # appendfsync always
  • appendfsync everysec
  • # appendfsync no

always:同步持久化,每次發(fā)生數(shù)據變化會立刻寫入磁盤

everysec:默認推薦,每秒異步記錄一次(默認值)

no:不同步,交給操作系統(tǒng)決定如何同步

  • aof-load-truncated yes?? ##769行

忽略最后一條可能存在問題的指令

[root@localhost ~]#/etc/init.d/redis_6379 restart

(2)AOF重寫

為了解決 AOF 文件體積不斷增大的問題,用戶可以向 Redis 發(fā)送 BGREWRITEAOF命令。BGREWRITEAOF 命令會通過移除 AOF 文件中的冗余命令來重寫(rewriteAOF文件,使 AOF 文件的體積盡可能地變小。

127.0.0.1:6379> bgrewriteaof

Background append only file rewriting started

# 在日志進行BGREWRITEAOF時,如果no-appendfsync-on-rewrite設置為yes表示新寫操作不進行同步fsync,只是暫存在緩沖區(qū)里,避免造成磁盤IO操作沖突,等重寫完成后再寫入。Redis中默認為no

no-appendfsync-on-rewrite no ?

# 當前AOF文件大小是上次日志重寫時AOF文件大小兩倍時,發(fā)生BGREWRITEAOF操作

auto-aof-rewrite-percentage 100 ?

備注:

100指的是aof文件增長比例,指當前aof文件比上次重寫的增長比例大小100為兩倍

#當前AOF文件執(zhí)行BGREWRITEAOF命令的最小值,避免剛開始啟動Reids時由于文件尺寸較小導致頻繁的BGREWRITEAOF

auto-aof-rewrite-min-size 64mb

六:性能管理

1:查看內存信息

192.168.9.236:7001> info memory

used_memory:1210776 #已經內存使用的大小,以字節(jié)為單位
used_memory_human:1.15M # 帶單位展示,以M為單位
used_memory_rss:7802880 # 從操作系統(tǒng)角度看redis內存占用多少
used_memory_rss_human:7.44M # 帶單位展示
maxmemory:1073741824 # 最大內存大小
maxmemory_human:1.00G # 帶單位展示

2:回收策略

maxmemory-policy:回收策略

? volatile-lru:它允許 Redis 從整個數(shù)據集中挑選最近最少使用的 key 進行刪除

? volatile-ttl按照key的過期時間進行淘汰?

? volatile-random:從已設置過期時間的數(shù)據集合中隨機挑選數(shù)據淘汰;

? allkeys-lru:使用 LRU 算法從所有數(shù)據集合中淘汰數(shù)據;

? allkeys-random:從數(shù)據集合中任意選擇數(shù)據淘汰;

? noeviction:禁止淘汰數(shù)據(默認值)

備注:

設置key的過期時間

expire v1 10

v1的過期時間為10秒

備注:

Redis 由于內存壓力需要回收一個 key 時,Redis 首先考慮的不是回收最舊的數(shù)據,而是在最近最少使用的 key 或即將過期的 key 中隨機選擇一個 key,從數(shù)據集中刪除

redis設置密碼

  一、設置方法

  方法一:通過配置文件redis.conf設置密碼

  找到requirepass關鍵字,后面就是跟的密碼,默認情況下是注釋掉的,即默認不需要密碼,如下:

?  打開注釋,設置為自己的密碼,重啟即可

  方法二:通過命名設置密碼

  使用redis-cli連接上redis,執(zhí)行如下命令

config set requirepass 123456

  執(zhí)行完畢,無需重啟,退出客戶端,重新登錄就需要輸入密碼了

  二、連接方法

1、連接時輸入密碼

[root@localhost bin]# ./redis-cli -a 123456

2、先連接再輸入密碼

[root@localhost bin]# ./redis-cli127.0.0.1:6379> auth 123456

  三、關閉方法

[root@localhost bin]# ./redis-cli -a 123456 shutdown

  四、區(qū)別

1)修改配置文件設置的密碼永久生效;使用命令設置的密碼臨時生效,重啟后失效

2)修改配置文件設置的密碼,需要重啟生效;使用命令設置的密碼,退出后再登錄生效,重啟后失效

3)命令的優(yōu)先級高于配置文件的優(yōu)先級

http://www.risenshineclean.com/news/49544.html

相關文章:

  • 建筑企業(yè)網站模板站內優(yōu)化包括哪些
  • 網站開發(fā)有沒有前途網站建設加推廣優(yōu)化
  • 深圳查詢建設項目規(guī)劃的網站百度seo優(yōu)化教程免費
  • 介紹一學一做視頻網站百度如何優(yōu)化排名靠前
  • 服裝電子商務網站有哪些網絡違法犯罪舉報網站
  • 網頁上本地網站搜索怎樣做營銷型網站制作公司
  • php技術應用于中小企業(yè)網站開發(fā)上海谷歌優(yōu)化
  • 天津制作網頁東莞seo托管
  • 蘭州易天網站建設公司有哪些?產品策劃方案怎么做
  • 廣州十大純設計公司seo難不難學
  • 網站建設訂單模板下載長沙seo網站優(yōu)化公司
  • 最便宜的網站建設2023年最新新聞簡短摘抄
  • 蘭州拼團網站建設競價賬戶托管哪家好
  • 從零開始做網站數(shù)據庫精準客戶運營推廣
  • 微信公眾號網站導航怎么做百度優(yōu)化推廣
  • 建筑公司網站有哪些國家新聞最新消息今天
  • wordpress 自定義注冊表單前端seo優(yōu)化
  • 百度關鍵字優(yōu)化安徽seo網絡推廣
  • wordpress插件加密seo搜索引擎優(yōu)化哪家好
  • wordpress圖片網站關鍵詞研究工具
  • 哪些網站可以做百科參考資料目前最好的引流推廣方法
  • 臺州做網站是什么站長之家seo概況查詢
  • 網站建設信息公開和解讀回應網站優(yōu)化怎么操作
  • 網站的ico圖標做多大國內的搜索引擎有哪些
  • 行業(yè)網站建設搜索引擎營銷特點是什么
  • 有個網站專做品牌 而且價格便宜百度商店
  • 溫州人才網站開發(fā)汕頭seo優(yōu)化公司
  • vue做網站的實例西安外包公司排行
  • 平陽手機網站制作網絡營銷的概述
  • 廣告人網站網絡營銷模式下品牌推廣研究