remote dictionary server(redis) 是乙個由salvatore sanfilippo寫的key-value儲存系統。
redis是乙個開源的使用ansi c語言編寫、遵守bsd協議、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。
它通常被稱為資料結構伺服器,因為值(value)可以是 字串(string), 雜湊(hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。
redis有著更為複雜的資料結構並且提供對他們的原子性(整個程式中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節)操作,這是乙個不同於其他資料庫的進化路徑。redis的資料型別都是基於基本資料結構的同時對程式設計師透明,無需進行額外的抽象。
redis官網
新增依賴
redis.clients<
/groupid>
jedis<
/artifactid>
<
/dependency>
com.alibaba<
/groupid>
fastjson<
/artifactid>
1.2.38
<
/version>
<
/dependency>
#redis
redis.host=
127.0
.0.1#redis伺服器位址
redis.port=
6379#redis伺服器端口
redis.timeout=
3#連線超時時間(毫秒)
redis.password=
123456#redis伺服器鏈結密碼(需在安裝redis的配置檔案中修改密碼)
redis.poolmaxtotal=
10#最大連線數
redis.poolmaxldle=
10redis.poolmaxwait=
3#最大等待時長
根據剛才配置的引數寫出redis的配置類
import org.springframework.boot.context.properties.configurationproperties;
import org.springframework.stereotype.component;
/*1*/
@component
@configurationproperties
(prefix =
"redis"
)/*把redis打頭的配置讀到*/
public
class
redisconfig
public
void
sethost
(string host)
public
intgetport()
public
void
setport
(int port)
public
intgettimeout()
public
void
settimeout
(int timeout)
public string getpassword()
public
void
setpassword
(string password)
public
intgetpoolmaxtotal()
public
void
setpoolmaxtotal
(int poolmaxtotal)
public
intgetpoolmaxldle()
public
void
setpoolmaxldle
(int poolmaxldle)
public
intgetpoolmaxwait()
public
void
setpoolmaxwait
(int poolmaxwait)
}
配置bean
@service
public
class
redispoolfactory
}
redis的service(以後可以直接用)
@service
public
class
redissevice
finally
}/*設定物件*/
public
boolean
set(keyprefix prefix,string key,t value)
// string realkey=prefix.
getprefix()
+key;
int seconds=prefix.
expiresecconds()
;if(seconds<=0)
else
return
true;}
finally
}private
string stringtobean
(t value)
class<
?> clazz=value.
getclass()
;if(clazz==
int.
class
||clazz==integer.
class
)else
if(clazz==string.
class
)else
if(clazz==
long
.class
||clazz==long.
class
)else
}private
void
returntopool
(jedis jedis)
}private
t stringtobean
(string str,class
clazz)
if(clazz==
int.
class
||clazz==integer.
class
)else
if(clazz==string.
class
)else
if(clazz==
long
.class
||clazz==long.
class
)else
}/*判斷key是否存在*/
public
boolean
exists
(keyprefix prefix,string key)
finally
}/*增加值*/
public
long incr
(keyprefix prefix,string key)
finally
}/*減少值*/
public
long decr
(keyprefix prefix,string key)
finally
}}
redis集群搭建以及和spring整合
1.集群搭建 mkdir p usr local redis cluster mkdir 7001 mkdir 7002 mkdir 7003 mkdir 7004 mkdir 7005 mkdir 7006 tar zxvf usr local software redis 3.0.0 rc2.t...
spring整合redis集群配置
pom.xml org.springframework.data spring data redis 1.7.4.release org.slf4j slf4j api 這裡為什麼要排除slf日誌?因為我的框架使用的是log4j,如果有slf,那麼log4j的日誌將不生效。所以要排除。因為sprin...
Spring整合redis方法總結
目的 總結spring總結redis的幾種方法 一 與spring整合成為template 1 properties檔案 redis redis.host 192.168.redis.port 6379 redis.password redis.maxidle 100 redis.maxtotal ...