A:緩存的數據結構應該選用K-V結構,只要K惟一那麼結果必然相同
B:緩存總的數據不可能一直儲存,須要按期將內存數據進行優化,LRU算法....
C:緩存的運行數據要求要快,C語言實現... 運行在內存中
D:若是緩存運行的數據在內存中,加入斷電或者宕機,內存數據直接回丟 失;實現內存數據的持久化操做(磁盤)redis
概念:是一個開源的,內存中的數據結構存儲系統,它能夠用在數據庫,緩存和消息中間件;支持多種類型的數據結構.如:字符串(string) 散列(hashes) 列表(list) 集合(sets) 有序集合(sorted sets);算法
A:進入src根目錄 => 上傳壓縮包 => 執行 tar -zxvf redis-5.0.4.tar.gz 解壓文件 =>修改文件存放位置 => mv redis-5.0.4 redis 修改文件名字;spring
B:安裝redis 進入redis根目錄 cd redis => make (編譯) => make install(安裝)數據庫
(bind 127.0.0.1 表示ip綁定)api
第一步:註釋綁定地址
第二步:yes改爲no
第三步:開啓後臺啓動 no改爲yes緩存
A:進入跟目錄=> 打開 redis.conf服務器
A:啓動Redis: 在redis跟目錄 redis-server redis.conf
數據結構
B:查看進程 ps -ef |grep redis
mybatis
C:進入redis客戶端:redis-cli -p 6379 (-p表示端口號)
測試
D:set key vail形式
E:關閉redis: 兩種方式
1.直接kill
2.reis-cli -p 6379 shutdown
說明:能夠用散列類型保存對象和屬性值
例子:User對象{id:2,name:小明,age:19}
說明:Redis中的List集合是雙端循環列表,分別能夠從左右兩個方向插入數據.
List集合能夠當作隊列使用,也能夠當作棧使用
隊列:存入數據的方向和獲取數據的方向相反
棧:存入數據的方向和獲取數據的方向相同
說明:redis中操做能夠添加事務的支持.一項任務能夠由多個redis命令完成,若是有一個命令失敗致使入庫失敗時.須要實現事務回滾.
A:添加jar包
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> </dependency>
B:測試是否可以連通:
C:setnx(k, v);高級api 判斷數據是否存在 若是有數據則不做處理
~~~~
D:setex(k,時間,v) (設置失效時間和設置值)方法執行要麼成功要麼失敗;
jedis.setex("2007",100,"測試時間)
E:jedis.set