查詢資料沒有找到 redis 從入門到java中的應用, 也沒有到框架 spring,springboot中的詳細介紹,故本身整理,有錯誤的地方歡迎指出
mac : brew cask install redis; centos : apt-get install redis; 解壓版安裝 : 1. 將下載好的安裝包放置到linux目錄下 2. 解壓 : tar -axvf redis-4.0.2.tar.gz 1. 進入 redis-4.0.2, 1. 輸入 make; 2. 完成後輸入make install; 3. sudo make install 3. 進入 src目錄 1. cp redis-server /usr/local/bin/; 2. cp redis-cli /usr/local/bin/ 在任意目錄啓動 修改 redis.conf 配置文件 daemonize:如須要在後臺運行,把該項的值改成yes pdifile:把pid文件放在/var/run/redis.pid,能夠配置到其餘地址 bind:指定redis只接收來自該IP的請求,若是不設置,那麼將處理全部請求,在生產環節中最好設置該項 port:監聽端口,默認爲6379 timeout:設置客戶端鏈接時的超時時間,單位爲秒 loglevel:等級分爲4級,debug,revbose,notice和warning。生產環境下通常開啓notice logfile:配置log文件地址,默認使用標準輸出,即打印在命令行終端的端口上 database:設置數據庫的個數,默認使用的數據庫是0 save:設置redis進行數據庫鏡像的頻率 rdbcompression:在進行鏡像備份時,是否進行壓縮 dbfilename:鏡像備份文件的文件名 dir:數據庫鏡像備份的文件放置的路徑 slaveof:設置該數據庫爲其餘數據庫的從數據庫 masterauth:當主數據庫鏈接須要密碼驗證時,在這裏設定 requirepass:設置客戶端鏈接後進行任何其餘指定前須要使用的密碼 maxclients:限制同時鏈接的客戶端數量 maxmemory:設置redis可以使用的最大內存 appendonly:開啓appendonly模式後,redis會把每一次所接收到的寫操做都追加到appendonly.aof文件中,當redis從新啓動時,會從該文件恢復出以前的狀態 appendfsync:設置appendonly.aof文件進行同步的頻率 vm_enabled:是否開啓虛擬內存支持 vm_swap_file:設置虛擬內存的交換文件的路徑 vm_max_momery:設置開啓虛擬內存後,redis將使用的最大物理內存的大小,默認爲0 vm_page_size:設置虛擬內存頁的大小 vm_pages:設置交換文件的總的page數量 vm_max_thrrads:設置vm IO同時使用的線程數量
基礎 : redis 是一個 key-value存儲系統 數據結構 : lists(列表),sets(集合),ordered sets(有序集合),hashes(哈希),string(字符串) redis常被稱做是一款數據結構服務器,對這些數據類型的操做是原子性, 例如 : 1.對字符串進行附加操做(append);2.遞增哈希中的值;3.向列表中添加元素;4.計算集合的並集,交集,差集
性能極高 : redis能支持超過 100K+ 每秒的讀寫頻率 豐富的數據類型 原子操做 : Redis的全部操做都是原子性的,同時Redis還支持對幾個操做全並後的原子性執行 豐富的特性 : Redis還支持 publish/subscribe,通知,key過時等特性
服務端 : src/redis-server 客戶端 : src/redis-cli 默認配置文件 : redis.conf PS : 能夠將可執行文件放置到$path換將目錄下,便於之後執行程序時能夠不輸入完整的路徑 cp redis-server /usr/local/bin/ cp resdi-cli /usr/local/bin/ 啓動redis : redis-server (src目錄下) mac : brew service start redis 查看redis : ps -ef|grep redis netstat -antp|grep 6379 經過端口號檢查Redis服務器狀態 啓動 Redis-cli : redis-cli
Redis keys 是採用二進制安全,咱們可使用任何的二進制序列做爲重點java
set命令建立strings : set mykey somevalue ps:set命令將取代現有的任何已經存在的key set mykey newval nx : 當mykey存在時不會保存(新建的意思) set mykey newval xx : 當mykey不存在是不會保存(替換的意思) get命令獲取strings : get mykey
set counter 100 incr counter : 101 incrby counter 20 : 121
set counter 100 decr counter : 99 decr counter 20 : 79
mset a 10 b 20 c 30 mget a b
Redis 列表是簡單的字符串列表,按照插入順序排序 rpush mylist 1 rpush mylist b lpush mylist c lrange mylist 0 -1 : lrange 利用了兩個檢索值,0表示list的開頭第一個;-1標示list的倒數第一個 pop : 取出list元素,能夠選擇不一樣的方向進行取出元素,返回值爲取出的元素 del : 刪除key
hashes是字符串字段和字符串值之間的映射,展示出對象的完美數據類型 hmset : 設置一個多餘的hash表 hget : 獲取指定的單域 hgetall : 獲取指定key的全部信息
redis集合是一個無序的字符串集合 sadd myset 1 2 3 : sadd產生一個無序集合,返回集合的元素個數 smembers : 查看集合 smembers myset sismember : 用於查看集合是否存在,匹配項包括集合名和元素個數,匹配成功返回1,匹配失敗返回0 sismember myset 3 sismember myset 30 sismember mys 3
zadd與sadd相似,可是在元素以前多了一個參數,這個參數即是用於排序的,造成一個有序的集合 zadd hackes 1940 "alan kay" zadd hacker 1999 "wodh" zrange hackes : 查看正序集合 zrevrange hacker : 查看反序集合 zrange hacker 0 -1 withscores : 使用withscores參數返回記錄值
1. exists and del : exists key : 判斷一個key是否存在,存在返回1 del key1 key2 : 刪除某個key或者一系列key(成功返回1) 2. type and keys type key : 返回某個key元素的數據類型(none : 不存在,string : 字符串...list,set,zset,hash),key不存在返回空 keys key-pattern : 返回匹配的key的列表(keys foo*:查找foo開頭的keys) 3. randomkey and clear randomkey : 隨機獲取一個已經存在的key,若是當前數據爲空,則返回空字符串 clear : 清除界面 不是清空全部的key 4. rename and renamenx rename oldname newname : 改key的名字,新鍵若是存在則覆蓋 renamenx oldname newname : 更改key的名字,若是newname存在,則更新失敗 5. dbsize dbsize : 返回當前數據庫的key總數
1. 限定key生存時間 : 這是一個無視數據類型的命令,對於臨時存儲有用處,避免進行大量的del操做 expire : 設置某個key的過時時間(秒) : expire bruce 1000 : 設置bruce這個key1000s後系統自動刪除 若是在還沒過時的時候,對值進行了改變,那麼那個值會清空 2. 查詢key剩餘生存時間 set 限時 : set key 100 ex 30 ttl : 查看某個key還有多長時間過時,返回s 3. 清除key flushdb : 清空當前數據庫中的全部鍵 flushall : 清空全部數據庫中得全部鍵
1. config get and config set config get : 用來讀取運行Redis服務器的配置參數 config set : 用於更改運行Redis服務器的配置參數 auth : 認證密碼 config get requirepass : 查看密碼 config set requirepass 123 : 設置密碼 config get requirepass : 報錯 auth 123; config get requirepass;
info [section]: 查詢Redis相關信息.INFO命令能夠查詢Redis幾乎全部的信息 server : Redis serve的常規信息 clients : Client的連接選項 memory : 存儲佔用相關信息 persistence: RDB and AOF 相關信息 stats : 常規統計 replication : Master/slave 請求信息 cpu : CPU 佔用信息統計 cluster : Redis集羣信息 keyspace : 數據庫信息統計 all : 返回全部信息 default : 返回常規設置信息
設置密碼 : config set requirepass "password" 配置redis.conf中設置requirepass屬性 輸入認證方式 : redis-cli -a password : 登陸時 auth password : 登錄後
重啓 redis server : sudo service redis-server restart 進入 redis-cli 進行驗證
1. [http://www.baid.com](http://www.baid.com "實驗樓-redis基礎")