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 乙個時間點過期的時候,如果快取資...