初識redis快取

2021-08-13 20:18:37 字數 4241 閱讀 8825

redis是用

c語言開發的乙個開源的高效能鍵值對(

key-value

)資料庫。它通過提供多種鍵值資料型別來適應不同場景下的儲存需求,目前為止

redis

支援的鍵值資料型別如 下:

字串型別

雜湊型別

列表型別

集合型別

有序集合型別。

快取(資料查詢、短連線、新聞內容、商品內容等等)。(最多使用)

分布式集群架構中的session分離。

任務佇列。(秒殺、搶購、12306等等)

應用排行榜。

**訪問統計。

資料過期處理(可以精確到毫秒)

redis是

c語言開發,建議在

linux

上執行,本教程使用

centos6.4

作為安裝環境。

gcc環境,如果沒有

gcc環境,需要安裝

gcc:

yum install gcc-c++

n 版本說明

本教程使用redis3.0版本。

3.0版本主要增加了

redis

集群功能。

將redis-3.0.0.tar.gz拷貝到/usr/local下

n 解壓原始碼

tar -zxvf redis-3.0.0.tar.gz  

n 進入解壓後的目錄進行編譯

cd /usr/local/redis-3.0.0

make

n 安裝到指定目錄,如

/usr/local/redis

cd /usr/local/redis-3.0.0 

make prefix=/usr/local/redis install

n redis.conf

redis.conf是

redis

的配置檔案,

redis.conf

在redis

原始碼目錄。

注意修改port作為

redis

程序的埠

,port

預設6379。

n 拷貝配置檔案到安裝目錄下

進入原始碼目錄,裡面有乙份配置檔案 redis.conf,然後將其拷貝到安裝路徑下

cd /usr/local/redis

mkdir conf

cp /usr/local/redis-3.0.0/redis.conf  /usr/local/redis/bin

n 安裝目錄bin下的檔案列表

-rw-r--r--. 1 root root      18 dec 19 22:23 dump.rdb

-rw-r--r--. 1 root root 763 dec 19 22:23 nodes.conf

-rwxr-xr-x. 1 root root 2075085 dec 19 22:07 redis-benchmark

-rwxr-xr-x. 1 root root 25205 dec 19 22:07 redis-check-aof

-rwxr-xr-x. 1 root root 56052 dec 19 22:07 redis-check-dump

-rwxr-xr-x. 1 root root 2199239 dec 19 22:07 redis-cli

-rw-r--r--. 1 root root 41402 dec 19 22:11 redis.conf

lrwxrwxrwx. 1 root root 12 dec 19 22:07 redis-sentinel -> redis-server

-rwxr-xr-x. 1 root root 4330924 dec 19 22:07 redis-server

直接執行bin/redis-server將以前端模式啟動,前端模式啟動的缺點是

ssh命令視窗關閉則

redis-server

程式結束,不推薦使用此方法。

修改redis.conf配置檔案,daemonize yes以後端模式啟動。

執行如下命令啟動redis:

cd /usr/local/redis

./bin/redis-server ./redis.conf

redis預設使用

6379

埠。

通過建立單例項jedis物件連線

redis

服務,如下**:

// 單例項連線redis

@test

public void testjedissingle()

1.外部連線不上redis的

解決方法

由於linux防火牆預設開啟,

redis

的服務埠

6379

並不在開放規則之內,所有需要將此埠開放訪問或者關閉防火牆。

關閉防火牆命令:sevice iptables stop

如果是修改防火牆規則,可以修改:/etc/sysconfig/iptables檔案

通過單例項連線redis不能對

redis

連線進行共享,可以使用連線池對

redis

連線進行共享,提高資源利用率,使用

jedispool

連線redis

服務,如下**:

@test

public void pool() catch(exception ex)finally

} }

配置spring配置檔案

<?xml version="1.0" encoding="utf-8"?>			

測試**:

@before

public void init()

@test

public void testjedispool() catch(exception ex)finally

} }redis集群管理工具

redis-trib.rb

依賴ruby

環境,首先需要安裝

ruby

環境:

安裝ruby

yum install ruby

yum install rubygems

安裝ruby和

redis

的介面程式

拷貝redis-3.0.0.gem至/usr/local下

執行:gem install /usr/local/redis-3.0.0.gem

這裡在同一臺伺服器用不同的埠表示不同的redis伺服器,如下:

主節點:192.168.101.3:7001 192.168.101.3:7002 192.168.101.3:7003

從節點:192.168.101.3:7004 192.168.101.3:7005 192.168.101.3:7006

在/usr/local下建立

redis-cluster

目錄,其下建立

7001

、7002

。。7006

目錄,如下:

將redis安裝目錄

bin下的檔案拷貝到每個

700x

目錄內,同時將

redis

原始碼目錄

src下的redis-trib.rb拷貝到redis-cluster目錄下。

修改每個700x目錄下的

redis.conf

配置檔案:

port ***x

#bind 192.168.101.3

cluster-enabled yes

分別進入7001、

7002

、...7006

目錄,執行:

./redis-server ./redis.conf

檢視redis程序:

執行redis-trib.rb,此指令碼是ruby指令碼,它依賴

ruby

環境。

./redis-trib.rb create --replicas 1 192.168.101.3:7001 192.168.101.3:7002 192.168.101.3:7003 192.168.101.3:7004 192.168.101.3:7005  192.168.101.3:7006

RecyclerView快取初識

what is recyclerview aflexibleview for providing alimitedwindow into alargedata set recyclerview layout manager item animator adapter what is viewhold...

Redis系列 (一)初識Redis

redis是由義大利人salvatore sanfilippo 網名 antirez 開發的一款記憶體快取記憶體資料庫。redis全稱為 remote dictionary server 遠端資料服務 redis 是乙個開源的,基於c語言編寫的 遵守bsd協議 支援網路互動 可基於記憶體也可持久化的...

快取 redis 快取穿透

哪一些因素 考慮使用redis,畢竟 redis 也要增加成本 1 熱點資料 2 讀的成本非常大 3 讀多寫少 4 對資料一致性要求 沒有那麼嚴格 可以出現資料與資料庫不一致 1 秒殺場景 3 物流查詢軌跡 熱點資料 啟用的資料是被快取到redis 當中 快取key 乙個時間點過期的時候,如果快取資...