redis是分布式集群中最優(yōu)秀的緩存工具蒿囤,是nosql(非關(guān)系型數(shù)據(jù)庫),運用了系統(tǒng)的多路復(fù)用技術(shù)崇决,是運行最快的單線程緩存技術(shù)材诽,所謂多路復(fù)用,就是請求統(tǒng)一到達恒傻,然后再處理脸侥,mybatis是分布在tomcat上的緩存,redis是存在內(nèi)存中的緩存盈厘,內(nèi)存的訪問速度跟快睁枕,能夠達到更好的體驗效果。
redis的安裝:redis官方只提供了linux版本沸手,需要去官網(wǎng)下載
安裝流程:
yum -y install gcc //-y表示自動安裝
wget http://download.redis.io/releases/redis-3.2.5.tar.gz //下載redis安裝包
tar xzf redis-2.8.17.tar.gz
make MALLOC=libc//編譯命令
Redis.conf配置文件
允許遠程訪問 將redis.conf文件中的bind屬性中的127.0.0.1修改為主機IP外遇。 將redis的保護模式關(guān)閉 修改redis.conf中的protected-mode no
常用命令: cat -n redis.conf? | grep bind/password/protected
?????????????????? vi +n redis.conf
啟動redis : ./src/redis.server redis.conf?? 啟動一定要帶配置文件
運行redis: ./src/redis.cli -h + 端口號
再 auth 空格 輸入密碼 就會顯示連接成功
redis的五種數(shù)據(jù)類型
1.字符串?
stringRedisTemplate.boundValueOps("java3").set("aaa");
2.hash
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("name","千帆");
hashMap.put("age","23");
redisTemplate2.boundHashOps("user").putAll(hashMap);
Map<Object, Object> map = redisTemplate2.boundHashOps("user").entries();
3.list
long result = redisTemplate2.boundListOps("books").leftPushAll("圖書1","圖書2","圖書3"); }
?4.set
List<String> books = redisTemplate2.boundListOps("books").range(0, -1);
5.有序set
Set<String> keys = redisTemplate2.keys("qianfeng*");
?redis與spring-boot的使用:
pom.xml文件導(dǎo)包:
<!-https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.5.RELEASE</version>
</dependency>
在application.properties文件中添加redis的配置
spring.redis.host=ip
spring.redis.port=6379
spring.redis.password=123456
redis的使用:
@Autowired
private StringRedisTemplate redisTemplate;
//key的設(shè)計:項目名稱-模塊名稱-goodsid-userId
//同一個redis可能被多個項目使用(key要唯一)
//同一個項目中的不同用戶之間的key也要唯一
//同一個用戶的不同數(shù)據(jù)的緩存key也要唯一
String key = "redis-zan-"+goodsId+"-"+userId;
redisTemplate.boundValueOps(key).set("1");