Redis/Memcache
文章平均质量分 76
BtWangZhi
这个作者很懒,什么都没留下…
展开
-
Redis-Lua脚本
local key = KEYS[1]if redis.call("get",key)+1 > tonumber(ARGV[1]) then return true;else return false;end初始化加载@PostConstruct public void init() { getRedisScript = new DefaultRedisScript<>(); getRedisScript.setResultType(原创 2020-11-25 17:59:43 · 173 阅读 · 1 评论 -
Redis-布隆过滤器
1 把不能支持的类型转化为能支持 服务端:@WebServicepublic interface HelloService { @XmlJavaTypeAdapter(MapAdapter.class) public Map<Integer, List<User>> getMap();}@WebServicepublic class HelloServiceImpl impl原创 2020-04-03 23:33:28 · 267 阅读 · 0 评论 -
Redis--集群
1 简单实现一个DEMO,由Tomcat容器启动,将服务层暴露出来,类似RestFul,另外一段通过Http请求。 1.1 Maven依赖<!-- 统一管理Spring的版本, spring.version为自定义的,其他的也可比如log.version --> <properties> <spring.version>4.3.10.RELEASE</spring.vers原创 2020-04-03 16:35:40 · 317 阅读 · 0 评论 -
Redis--常见问题及方案
1 在服务端添加拦截器:System.out.println("web Server Start"); HelloService helloService=new HelloServiceImpl(); String address="http://192.168.199.146:8080/helloWorld"; JaxWsServerFactory原创 2020-04-03 18:26:18 · 496 阅读 · 1 评论 -
Redis--哨兵模式
构建Restful接口提供给用户,需要鉴权,设计的解决方案如下:客户端测试代码:@RunWith(SpringRunner.class)@SpringBootTestpublic class TestController { private static final int userId=1; private static final String TOKEN = "123";...原创 2020-04-03 11:52:37 · 566 阅读 · 0 评论 -
Redis--慢查询
将CXF整合到Spring,通过拦截部分请求由CXF进行处理 1 在一个SSM项目POM.xml添加如下依赖:<!-- Servlet支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>j...原创 2020-04-01 16:16:35 · 482 阅读 · 0 评论 -
Redis--String和Hash
1 CXF是一个WebService框架。 HelloService.class@WebServicepublic interface HelloService { public String say(String str);}HelloServiceImpl.class@WebService public class HelloServiceImpl implements Hell原创 2020-03-30 22:20:16 · 393 阅读 · 0 评论 -
Redis--BitMap与HyperLogLog
1 GET请求数据映射 1.1 将url中的数据映射到形参中 /** * 测试PathParam注解 * @param userId * @return */ @GET @Path("/user/getUserInfoByPathParam/{userId}") public User getUserInfoByPathP...原创 2020-03-29 22:54:44 · 439 阅读 · 0 评论 -
Redis--List
应用场景案例:Redis用List实现队列。从左端添加数据,从右端消费数据。//添加任务 final ScheduledFuture<?> scheduledFuture = SCHEDULED_EXECUTOR_SERVICE.scheduleAtFixedRate(new Runnable() { @Override public void run() { ...原创 2019-10-10 18:20:29 · 235 阅读 · 2 评论 -
Redis--SET与ZSET
案例:基于评论次数的控制List<Object> objects = redisTemplate.executePipelined(new SessionCallback<List>() { @Override public List execute(RedisOperations operations) throws Da...原创 2019-10-09 18:19:41 · 900 阅读 · 0 评论 -
Redis--流水线
在使用redis时,对于相同的数据操作,通过for循环不停的与Redis交互,这样性能不是很好,Redis支持流水线技术,一次性发送所有的数据操作,这样可以大幅度的提高速度。Demo:redisTemplate.executePipelined(new SessionCallback<List>() { @Override publi...原创 2019-01-29 17:46:07 · 303 阅读 · 0 评论 -
Redis--分布式锁实现
获取锁:public String acquireLockWithTimeout( Jedis conn, String lockName, long acquireTimeout, long lockTimeout) { String identifier = UUID.randomUUID().toString(); String lo...原创 2018-10-17 00:14:17 · 376 阅读 · 1 评论 -
Redis--java存取Redis中的数据
1 Window下运行Redis服务器。 通过在网上查找资料可知,Window下是不支持Redis的,但是在GitHub上有人开发出了window的版本,我也很无奈,具体过程参考http://www.cnblogs.com/smileyearn/articles/4749746.html,此时不在赘述,直接将GitHub上下载文件放在一个位置,通过如下命令即可启动服务器可客户端。 启动服务器:D原创 2017-07-12 21:59:42 · 13789 阅读 · 0 评论 -
Redis--事务
1 Redis中使用MULTI命令开启一个事务,客户端可以向服务器端发送多条命令,但是不会立即执行,而是进入一个队列中,只有当执行EXEC时,队列中所有的命令才会去执行。可以通过DISCARD命令清空事务队列。&gt; MULTIOK&gt; INCR fooQUEUED&gt; INCR barQUEUED&gt; EXEC1) (integer) 12) (integer) 12 问题:在执行exec之原创 2017-07-14 23:56:01 · 733 阅读 · 1 评论 -
Redis--入门与Linux下安装Redis
1 安装Redis, 1.1 从官网下载安装包:https://redis.io/ 1.2 解压源码 操作在有源码安装包下执行:tar -zxvf redis-4.0.0.tar.gz会解压指定文件名到当前目录下 1.3 编译 进入解压后的文件夹执行,会自动编译生成文件。make若出现未知命令gcc,则安装gcc编译器即可。 参考博客:http://www.centoscn.co原创 2017-06-13 15:13:42 · 497 阅读 · 0 评论 -
Redis--主从架构
1 主从架构 1.1 创建不同的配置文件 创建三个目录,将redis.config复制三份放在三个文件夹中。分别修改配置文件,将端口分别设置为:6379(Master)、6380(Slave)、6381(Slave)。同时要设置pidfile文件为不同的路径。 1.2 配置主从节点 在两个准备设置为从节点的配置文件中,打开配置文件,搜索slaveof,会有详细的说明,配置主节点的IP和端口号原创 2017-07-20 00:49:40 · 292 阅读 · 0 评论 -
Redis--与SpringBoot整合
<!-- Jedis 连接池配置,连接呼叫中心的Redis--> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.pool.maxTotal}" /> <proper原创 2017-10-28 17:03:36 · 387 阅读 · 0 评论 -
Redis--订阅/发布与SpringBoot整合
1 发布者发布消息到不同的频道,订阅者接收来自不同频道的消息。 1.1 设计到Redis的publish和subscribe,publish向指定的端口推送消息,subscribe监听指定频道的消息。 Linu下举例如下: 监听端: 发送端: 上图中监听名为third的频道,使用publis指令在third中推送消息,可以看到在监听端接收到了发送的消息。 1.2 java代码实现原创 2017-07-14 22:12:42 · 376 阅读 · 0 评论 -
Memcached--入门
1 安装Memcached 1.1 安装libevent库。yum install libevent libevent-deve yum install libevent-devel 1.2 下载Memcached源文件 官网:http://memcached.org/downloads 也可以采用命令的方式下载:wget http://memcac转载 2018-02-04 15:13:33 · 327 阅读 · 0 评论 -
Redis--持久化
1 RDB RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. Redis数据存储在内存中,系统会在一定的频率下,如果有一定的数据操作,会将数据持久化的写入到数据库中,这样就会出现没有到一定的时间,系统出现各种故障,导致数据没有持久化到磁盘中那么就会出现数据的丢失,如下图演示具体发生的过程,来帮助理解RDB的过程。 由上图可知,更改一个键值后,将Redis杀死,没要到指定原创 2017-07-15 23:12:08 · 366 阅读 · 0 评论