国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

外貿(mào)網(wǎng)站圖片素材百度網(wǎng)盟推廣怎么做

外貿(mào)網(wǎng)站圖片素材,百度網(wǎng)盟推廣怎么做,做磁力鏈網(wǎng)站,吉林省建設(shè)招標(biāo)網(wǎng)站一、如何使用Redis的Java客戶端 官方文檔: https://redis.io/docs/clients/java/ Java-Redis客戶端使用場(chǎng)景Jeids 以Redis命令作為方法名稱,學(xué)習(xí)成本低,簡(jiǎn)單實(shí)現(xiàn),但是Jedis實(shí)例是線程不安全的,多線程環(huán)境下需要基于連…

一、如何使用Redis的Java客戶端

官方文檔: https://redis.io/docs/clients/java/

Java-Redis客戶端使用場(chǎng)景
Jeids
以Redis命令作為方法名稱,學(xué)習(xí)成本低,簡(jiǎn)單實(shí)現(xiàn),但是Jedis實(shí)例是線程不安全的,多線程環(huán)境下需要基于連接池使用。
lettuce
Lettuce 是基于Netty實(shí)現(xiàn)的,支持同步、異步和響應(yīng)式編程方式,并且是線程安全的。Redis的哨兵模式、集群模式和管道模式。
Redisson
Redisson是基于Redis實(shí)現(xiàn)的分布式、可伸縮的Java數(shù)據(jù)結(jié)構(gòu)集合。包含了諸如Map、Queue、Lock、Semaphore(信號(hào)量)、AtomicLong(原子類)等強(qiáng)大功能

SpringDataRedis: 一款結(jié)合了Jedis和Lettuce的SpringBoot框架整合Redis組件。


二、Jedis

Jedis官網(wǎng): https://github.com/redis/jedis

Redis的官方也推薦了這種客戶端。

(一)引入依賴

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.1</version>
</dependency>

(二)建立連接

方式一:單點(diǎn)連接

    private Jedis jedis;@BeforeEachvoid setup() {//建立連接jedis = new Jedis("192.168.92.131",6379);//設(shè)置密碼jedis.auth("123321");//選擇數(shù)據(jù)庫(kù)jedis.select(0);}@Testvoid redisTest(){//插入數(shù)據(jù)String result = jedis.set("name","張三");System.out.println("result="+result);//獲取數(shù)據(jù)String name = jedis.get("name");System.out.println("name="+name);}@AfterEachvoid destroy() {if (jedis != null)jedis.close();}//獲取的結(jié)果
result=OK
name=張三

方式二:連接池建立連接

public class JedisConnectionFactory {private static final JedisPool jedisPool;static {//1、創(chuàng)建連接池配置對(duì)象JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();//2、配置連接池相關(guān)信息// 最大連接數(shù)jedisPoolConfig.setMaxTotal(8);// 最大空間連接jedisPoolConfig.setMaxIdle(8);// 最小空閑連接jedisPoolConfig.setMinIdle(0);// 設(shè)置最長(zhǎng)等待時(shí)間,msjedisPoolConfig.setMaxWaitMillis(200);//3、建立連接池,需要連接池配置,ip,端口,等待時(shí)間,密碼jedisPool = new JedisPool(jedisPoolConfig, "192.168.92.131",6379,1000,"123321");}public static Jedis getConnection(){//獲取單個(gè)連接return jedisPool.getResource();}}

三、SpringDataRedis

SpringDataSpring 中數(shù)據(jù)操作的模塊,包含對(duì)各種數(shù)據(jù)庫(kù)的集成,其中對(duì)Redis的集成模塊就叫做 SpringDataRedis,官網(wǎng)地址: https://spring.io/projects/spring-data-redis

  • 提供了對(duì)不同Redis客戶端的整合(Lettuce和Jedis)
  • 提供了RedisTemplate統(tǒng)一API來(lái)操作Redis
  • 支持Redis的發(fā)布訂閱模塊
  • 支持Redis哨兵和Redis集群
  • 支持基于Lettuce的響應(yīng)式編程
  • 支持基于JDK、JSON、字符串、Spring對(duì)象的數(shù)據(jù)序列化及反序列化
  • 支持基于Redis的JDKCollection實(shí)現(xiàn)

(一)RedisTemplate

RedisTemplate將不同的數(shù)據(jù)類型操作API封裝到不同類型中。

API返回值類型說(shuō)明
redisTemplate.opsForValue()ValueOperations操作String類型數(shù)據(jù)
redisTemplate.opsForHash()HashOperations操作Hash類型數(shù)據(jù)
redisTemplate.opsForList()ListOperations操作List類型數(shù)據(jù)
redisTemplate.opsForSet()SetOperations操作Set類型數(shù)據(jù)
redisTemplate.opsForZSet()ZSetOperations操作SortedSet類型數(shù)據(jù)
redisTemplate通用命令

(二)RedisTemplate的基本使用

1、引入依賴

<!--Redis依賴-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency><!--連接池依賴-->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>
</dependency>

2、配置redis

spring:redis:host: 192.168.92.131port: 6379password: 123321lettuce:pool:max-active: 8 #最大連接數(shù)max-idle: 8 #最大空閑連接min-idle: 0 #最小空閑連接max-wait: 100 #連接等待時(shí)間

3、注入RedisTemplate

@Autowired
private RedisTemplate redisTemplate;

4、使用RedisTemplate

@Autowired
private RedisTemplate redisTemplate;public void operateString(){// 插入一條string類型的數(shù)據(jù),存儲(chǔ)的格式是Java序列化的格式redisTemplate.opsForValue().set("name", "李四");// 讀取一條string類型數(shù)據(jù)Object name = redisTemplate.opsForValue().get("name");System.out.println("name = " + name);
}

5、優(yōu)化RedisTemplate存儲(chǔ)序列化的現(xiàn)象

@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {//1、創(chuàng)建RedisTemplate對(duì)象RedisTemplate<String, Object> template = new RedisTemplate<>();//2、設(shè)置連接工廠template.setConnectionFactory(connectionFactory);//3、創(chuàng)建JSON序列化工具		GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();//4、設(shè)置key的序列化template.setKeySerializer(RedisSerializer.string());template.setHashKeySerializer(RedisSerializer.string());//5、設(shè)置Value的序列化template.setValueSerializer(jsonRedisSerializer);template.setHashValueSerializer(jsonRedisSerializer);//6、返回return template;}}

缺點(diǎn): JSON序列化時(shí)會(huì)將calss的類型寫(xiě)入json結(jié)果中,存入Redis中,帶來(lái)額外的內(nèi)存。

為了節(jié)省內(nèi)存空間,我們并不會(huì)使用JSON序列化器來(lái)處理value,而是統(tǒng)一使用String序列化器,要求只能存儲(chǔ)String類型的key 和 value,當(dāng)需要存儲(chǔ)Java對(duì)象時(shí),手動(dòng)完成序列化和反序列化。

Spring默認(rèn)提供了一個(gè)StringRedisTemplate類,它的key和value的序列化方式默認(rèn)就是String方式,省去自定義RedisTemplate的過(guò)程。**
(PS:不如直接用alibaba開(kāi)源的fastjson,減少學(xué)習(xí)成本,但要注意的是 在JSON插件的排行中 ,jackson-databind > gson > fastjson,這就說(shuō)明了問(wèn)題,fastjson 專注于性能,但安全性不足,gson是保證了安全性,如果可以,在項(xiàng)目中應(yīng)該使用gson)**

@Autowired
private StringRedisTemplate stringRedisTemplate;//JSON工具
private static final ObjectMapper mapper = new ObjectMapper();@Test
void testStringTemplate() throws JsonProcessingException {//準(zhǔn)備對(duì)象User user = new User("zain", 23);//手動(dòng)序列化String json = mapper.writeValueAsString(user);//寫(xiě)入一條數(shù)據(jù)stringRedisTemplate.opsForValue().set("jedis:user:2", json);// 讀取數(shù)據(jù)String val = stringRedisTemplate.opsForValue().get("jedis:user:2");// 反序列化User user1 = mapper.readValue(val, User.class);
}
http://aloenet.com.cn/news/28445.html

相關(guān)文章:

  • 網(wǎng)頁(yè)設(shè)計(jì)品牌故事昆明百度關(guān)鍵詞優(yōu)化
  • 怎么做簡(jiǎn)單地網(wǎng)站網(wǎng)站網(wǎng)絡(luò)排名優(yōu)化方法
  • 網(wǎng)站建設(shè)合同糾紛管轄seo優(yōu)化師就業(yè)前景
  • 營(yíng)銷型企業(yè)網(wǎng)站建設(shè)教案北京競(jìng)價(jià)托管代運(yùn)營(yíng)
  • 做網(wǎng)站的實(shí)踐報(bào)告怎樣制作一個(gè)網(wǎng)站
  • wordpress 圖片自動(dòng)加水印東莞網(wǎng)站制作十年樂(lè)云seo
  • 石家莊做外貿(mào)網(wǎng)站軟文免費(fèi)發(fā)布平臺(tái)
  • 國(guó)際貨代做網(wǎng)站百度通用網(wǎng)址
  • 百度站長(zhǎng)工具平臺(tái)登錄成都網(wǎng)站建設(shè)方案優(yōu)化
  • 網(wǎng)站建站系統(tǒng)站長(zhǎng)工具搜索
  • 網(wǎng)站服務(wù)公司特點(diǎn)上海疫情又要爆發(fā)了
  • 網(wǎng)站開(kāi)發(fā)總監(jiān)自助建站
  • 如何做服裝微商城網(wǎng)站建設(shè)關(guān)鍵字廣告
  • WordPress電影公司網(wǎng)站主題大連網(wǎng)站建設(shè)費(fèi)用
  • 包頭市建設(shè)工程安全監(jiān)督站網(wǎng)站萬(wàn)能搜索引擎入口
  • 東莞網(wǎng)站優(yōu)化微信公眾號(hào)運(yùn)營(yíng)推廣方案
  • 滾屏網(wǎng)站模板網(wǎng)站生成器
  • 分類網(wǎng)站一天做幾條合適百度平臺(tái)客服電話
  • 50個(gè)辦廠好項(xiàng)目運(yùn)城seo
  • 網(wǎng)站正能量晚上免費(fèi)軟件愛(ài)站網(wǎng)為什么不能用了
  • 網(wǎng)站建設(shè)技術(shù)分為哪些方向電子商務(wù)營(yíng)銷的概念
  • 哪個(gè)公司做網(wǎng)站最好深圳百度競(jìng)價(jià)排名系統(tǒng)
  • 有服務(wù)器域名源碼怎么做網(wǎng)站平臺(tái)sem投放
  • 如何建立微網(wǎng)站詳細(xì)seo優(yōu)化操作
  • 網(wǎng)站怎么做讓PC和手機(jī)自動(dòng)識(shí)別品牌策劃方案ppt
  • 撫寧區(qū)建設(shè)局網(wǎng)站5188關(guān)鍵詞平臺(tái)
  • 做網(wǎng)站常州網(wǎng)站建設(shè)網(wǎng)站定制
  • 哈爾濱建站在線咨詢做好網(wǎng)絡(luò)推廣
  • 大連網(wǎng)站建設(shè) 領(lǐng)超最好電商運(yùn)營(yíng)公司排名
  • 基于web網(wǎng)上花店網(wǎng)站設(shè)計(jì)論文鄭州好的seo外包公司