之前学习了如何将Redis用作整个系统的一部分,这一章将来学习写如何使用Redis来构建辅助程序。代码示例位于redis-sample项目的support模块中。
日志
使用列表存储最新的日志记录:
计数器
使用Redis来实现计数器,可以统计网站访问等信息。采用一个有序集合来存储需要记录的时间片信息,若干个散列来存储每个时间片在起始时间点的点击数。
查找IP所属城市以及国家
我们使用maxmind提供的geoip2所属城市数据库作为测试数据,下载GeoLite2 City CSV文件,解压即可。
实现IP所属地查找程序会用到两个查找表,第一个查找表需要根据输入的IP地址来查找IP所属的geoname_id,第二个查找表则需要根据输入的geoname_id来查找ID对应的实际信息。
项目需要导入的jar包:
另外,maxmind提供了mmdb文件,可以直接使用,maxmind gitbub有api使用说明。本人测试了下,通过api查询的结果和导入Redis再查询出来的结果一致。但是有些ip和maxmind官网查出来的结果不一样,这个这里就不深究了。
能使用Redis构建的支持程序远远不止上述案例,这里只是挑几个讲讲,更多的需要使用者按照Redis的特性自行挖掘。