日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

list redis 怎样做排行_redis实现商品销量排行榜

發布時間:2024/7/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 list redis 怎样做排行_redis实现商品销量排行榜 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前練習做過一個網上商城,采用SSM框架實現。該項目有一個商品排行榜模塊沒有實現,決定采用springboot+dubbo+redis實現該模塊。

1.新建springboot項目。

本項目的springboot版本號為:

org.springframework.boot

spring-boot-starter-parent

2.1.6.RELEASE

引入dubbo及redis起始依賴。

com.alibaba.boot

dubbo-spring-boot-starter

0.2.0

org.springframework.boot

spring-boot-starter-data-redis

2.application.properties中配置如下信息

dubbo.application.name = baba-product-rank

dubbo.registry.address=127.0.0.1:2181 #zookeeper地址及端口號

dubbo.registry.protocol=zookeeper

dubbo.protocol.name=dubbo

dubbo.protocol.port=20881

#配置redis服務器

spring.redis.host=192.168.1.109 #redis服務器地址

spring.redis.port=6379

3.創建ProductRank類,并實現序列化

importjava.io.Serializable;public class ProductRank implementsSerializable {privateString productId;privateString productName;privateString price;privateString imgUrl;publicString getProductId() {returnproductId;

}public voidsetProductId(String productId) {this.productId =productId;

}publicString getProductName() {returnproductName;

}public voidsetProductName(String productName) {this.productName =productName;

}publicString getPrice() {returnprice;

}public voidsetPrice(String price) {this.price =price;

}publicString getImgUrl() {returnimgUrl;

}public voidsetImgUrl(String imgUrl) {this.imgUrl =imgUrl;

}

}

4.新建service接口,創建該service與ProductRank類時應注意類路徑與之前項目路徑一致(dubbo引用服務時要求)。

importcn.itcast.core.bean.ProductRank;importjava.util.List;importjava.util.Set;public interfaceProductRankService {//若沒有該數據記錄則添加該數據以及score 若有則直接給score加count

public void zSetAdd(ProductRank productRank, doublecount);

//獲取(end-begin)個記錄的排名public ListgetSetRank(Long begin, Long end);

}

5.創建redisconfg類,用來向容器中注入redisTemplate以及zSetOperations。

importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.data.redis.connection.RedisConnectionFactory;importorg.springframework.data.redis.core.RedisTemplate;importorg.springframework.data.redis.core.ZSetOperations;importorg.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;importorg.springframework.data.redis.serializer.StringRedisSerializer;importcom.fasterxml.jackson.annotation.JsonAutoDetect;importcom.fasterxml.jackson.annotation.PropertyAccessor;importcom.fasterxml.jackson.databind.ObjectMapper;

@Configurationpublic classRedisConfig {

@Bean

@SuppressWarnings("all")public RedisTemplateredisTemplate(RedisConnectionFactory factory) {

RedisTemplate template = new RedisTemplate();

template.setConnectionFactory(factory);

Jackson2JsonRedisSerializer jackson2JsonRedisSerializer= new Jackson2JsonRedisSerializer(Object.class);

ObjectMapper om= newObjectMapper();

om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

jackson2JsonRedisSerializer.setObjectMapper(om);

StringRedisSerializer stringRedisSerializer= newStringRedisSerializer();//key采用String的序列化方式

template.setKeySerializer(stringRedisSerializer);//hash的key也采用String的序列化方式

template.setHashKeySerializer(stringRedisSerializer);//value序列化方式采用jackson

template.setValueSerializer(jackson2JsonRedisSerializer);//hash的value序列化方式采用jackson

template.setHashValueSerializer(jackson2JsonRedisSerializer);

template.afterPropertiesSet();returntemplate;

}

@Beanpublic ZSetOperations zSetOperations(RedisTemplateredisTemplate) {returnredisTemplate.opsForZSet();

}

}

6.創建serviceimpl實現類。

importcn.itcast.core.bean.ProductRank;importcom.alibaba.dubbo.config.annotation.Service;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.redis.core.RedisTemplate;importorg.springframework.data.redis.core.ZSetOperations;importorg.springframework.stereotype.Component;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjava.util.Set;

@Service //暴露服務

@Componentpublic class ProductRankServiceImpl implementsProductRankService{

@AutowiredprivateRedisTemplate redisTemplate;

@Autowiredprivate ZSetOperationszSetOperations;

@Overridepublic void zSetAdd(ProductRank productRank,doublecount) {

String sortSetName= "product:rank";

zSetOperations.incrementScore(sortSetName,productRank,count);

}

@Overridepublic ListgetSetRank(Long begin, Long end) {

List list = new ArrayList<>();

String sortSetName= "product:rank";

Set set=zSetOperations.reverseRange(sortSetName,begin,end);

Iterator it=set.iterator();while(it.hasNext()){

ProductRank p=(ProductRank)it.next();

list.add(p);

}returnlist;

}

}

7.起始類上添加@EnableDubbo注解

@EnableDubbo

@SpringBootApplicationpublic classBabaProductRankApplication {public static voidmain(String[] args) {

SpringApplication.run(BabaProductRankApplication.class, args);

}

}

8.在網上商城項目中引入dubbo依賴

com.alibaba

dubbo

2.6.2

org.apache.curator

curator-framework

2.12.0

9.在與新建springboot項目中相同路徑下復制service接口類與ProductRank類。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

如圖所示。

10.創建consumer.xml配置文件,引用服務。

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd

http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd

http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

11.使用注解注入,并調用,向redis中插入數據。

使用redis-manager軟件,查看向redis中添加的數據,如圖。

12.調用redis中的數據并顯示在頁面上。

在jsp頁面上顯示:

結果如下圖。

總結

以上是生活随笔為你收集整理的list redis 怎样做排行_redis实现商品销量排行榜的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性欧美在线观看 | 中文字幕人妻一区二区三区在线视频 | 欧美视频免费看欧美视频 | 欧美成人午夜影院 | 男人的天堂在线观看av | 69xx免费视频| 手机在线不卡av | 欧美性猛交xxxx黑人交 | 成人网免费视频 | 天堂一级片 | 国产一区二区三区 | 免费看国产曰批40分钟 | 91国内精品久久久久 | 国产精品一区二区av | 日韩欧美在线播放 | 精品乱子一区二区三区 | 毛片在线免费播放 | 国产精品高潮呻吟久久 | 亚洲电影在线观看 | 亚洲黄色激情视频 | 欧美精品一区二区蜜桃 | 精品国产18久久久久久 | 日本精品久久久 | 蜜桃色一区二区三区 | 日韩无码专区 | 成人毛片av| 国产老熟妇精品观看 | 中文字幕一区视频 | 91蜜桃视频 | 亚洲一区二区三区精品视频 | 成人免费影片 | 激情视频免费观看 | 欧美精品综合 | 日本韩国在线观看 | 青青草国产在线视频 | 日韩欧美亚洲在线 | 特黄特色大片免费播放器使用方法 | 欧美乱做爰xxxⅹ久久久 | 色呦呦在线观看视频 | 亚洲爱爱网站 | 日韩高清一二三区 | 东京av男人的天堂 | 综合色伊人 | 久久在线观看 | 国产成人精品女人久久久 | 人人爽人人爽人人爽人人爽 | 亚洲黄色小说网 | 午夜免费av | 日韩欧美视频网站 | 国产免费看黄 | 99热在线只有精品 | 少妇喷潮明星 | 午夜不卡在线 | 97人人艹 | 波多野结衣亚洲视频 | 国产网站在线免费观看 | 日韩不卡一区二区三区 | av有声小说一区二区三区 | 久久综合国产精品 | 男生操女生屁股 | 美女网站黄频 | 欧美精品久久久久 | 欧美一区二区最爽乱淫视频免费看 | 天天天天天天天天干 | 国产午夜视频在线播放 | 成人av影视在线 | 亚洲视频一二三区 | 国产精品系列在线 | 毛片在线免费观看网站 | 欧日韩av| 久久福利影院 | 欧美女人天堂 | 国产又粗又黄的视频 | 蜜芽一区二区 | 冲田杏梨在线 | 2020自拍偷拍| 亚洲国产精品福利 | 人人妻人人澡人人爽精品日本 | 人妻91麻豆一区二区三区 | 北条麻妃在线一区二区 | 中文字幕国产一区二区 | 日本a级免费 | 亚洲精品网站在线播放gif | 亚洲国产天堂 | 国产黄色网络 | www.桃色av嫩草.com | 久草免费在线色站 | 国产资源av | 日韩爱爱免费视频 | 成年人小视频 | 麻豆久久久 | 天天天综合网 | 熟睡人妻被讨厌的公侵犯 | 日本强好片久久久久久aaa | 国产精品久久久影院 | 国产成人精品无码播放 | 午夜在线免费观看 | 在线看成人片 | 亚洲午夜免费视频 |