redis學習-第一節-基礎入門

redis學習-基礎入門

查詢資料沒有找到 redis 從入門到java中的應用,
也沒有到框架 spring,springboot中的詳細介紹,故本身整理,有錯誤的地方歡迎指出

一 : Redis 安裝

0. Redis 安裝

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同時使用的線程數量

1. redis 是什麼

基礎 : redis 是一個 key-value存儲系統
數據結構 : lists(列表),sets(集合),ordered sets(有序集合),hashes(哈希),string(字符串)
redis常被稱做是一款數據結構服務器,對這些數據類型的操做是原子性,
    例如 : 1.對字符串進行附加操做(append);2.遞增哈希中的值;3.向列表中添加元素;4.計算集合的並集,交集,差集

2. redis 優勢

性能極高 : redis能支持超過 100K+ 每秒的讀寫頻率
豐富的數據類型
原子操做 : Redis的全部操做都是原子性的,同時Redis還支持對幾個操做全並後的原子性執行
豐富的特性 : Redis還支持 publish/subscribe,通知,key過時等特性

3. redis 主要文件

服務端 : 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 數據

Redis keys 是採用二進制安全,咱們可使用任何的二進制序列做爲重點java

1. redis strings

set命令建立strings : set mykey somevalue    ps:set命令將取代現有的任何已經存在的key
    set mykey newval nx : 當mykey存在時不會保存(新建的意思)
    set mykey newval xx : 當mykey不存在是不會保存(替換的意思)
get命令獲取strings : get mykey

2. 加法器

set counter 100
incr counter : 101
incrby counter 20 : 121

3. 減法器

set counter 100
decr counter : 99
decr counter 20 : 79

4.Redis 可使用 mset 和 mget 操做多個值,使用mget Redis返回一個數組

mset a 10 b 20 c 30
mget a b

5. Redis lists

Redis 列表是簡單的字符串列表,按照插入順序排序
rpush mylist 1
rpush mylist b
lpush mylist c
lrange mylist 0 -1 : lrange 利用了兩個檢索值,0表示list的開頭第一個;-1標示list的倒數第一個

pop : 取出list元素,能夠選擇不一樣的方向進行取出元素,返回值爲取出的元素
del : 刪除key

6. Redis hashes

hashes是字符串字段和字符串值之間的映射,展示出對象的完美數據類型
hmset : 設置一個多餘的hash表
hget : 獲取指定的單域
hgetall : 獲取指定key的全部信息

7. Redis 無序集合

redis集合是一個無序的字符串集合
sadd myset 1 2 3 : sadd產生一個無序集合,返回集合的元素個數
smembers : 查看集合 smembers myset
sismember : 用於查看集合是否存在,匹配項包括集合名和元素個數,匹配成功返回1,匹配失敗返回0
sismember myset 3
sismember myset 30
sismember mys 3

8. Redis 有序集合

zadd與sadd相似,可是在元素以前多了一個參數,這個參數即是用於排序的,造成一個有序的集合
    zadd hackes 1940 "alan kay"
    zadd hacker 1999 "wodh"
zrange hackes : 查看正序集合
zrevrange hacker : 查看反序集合
zrange hacker 0 -1 withscores : 使用withscores參數返回記錄值

三 : Redis 系統管理

1. 適合全體類型的經常使用命令 : (啓動redis服務,redis-cli)

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總數

2. Redis 時間相關的命令

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 : 清空全部數據庫中得全部鍵

3. Redis 設置相關命令 : Redis有其配置文件,能夠經過client-command窗口查看更改

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;

4. 查詢信息

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 : 返回常規設置信息

四. Redis 高級應用

1. 安全性 :

設置密碼 : 
    config set requirepass "password"
    配置redis.conf中設置requirepass屬性
輸入認證方式 :
    redis-cli -a password : 登陸時
    auth password : 登錄後

2. 重啓redis-server和redis-cli

重啓 redis server : sudo service redis-server restart
進入 redis-cli 進行驗證

五. 參考

1. [http://www.baid.com](http://www.baid.com "實驗樓-redis基礎")
相關文章
相關標籤/搜索