![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 91
在京奋斗者
这个作者很懒,什么都没留下…
展开
-
如何保证数据库与redis缓存数据一致性
既然要解决这个问题,那么首先要大概了解为啥会出现数据不一致呢?根本原因是我们无法将数据库更新操作与缓存更新操作放在同一个事务内同步成功,同步失败!下面列举几个常见的操作以及各自的问题1、先更新数据库,后更新缓存 问题:假如有两个请求,请求1先更新数据库,将库存更新为1,这时CPU切换给了请求2,请求2将库存更新为2并且将库存更新为了2,这时CPU又切换到了请求1,这时将库存更新为1,这样最终数据库中库存数量是2,而缓存中库存数量却为1,导致了两者不一致,因此这种操作是无法保证两者...原创 2022-05-02 23:03:22 · 2476 阅读 · 0 评论 -
学习淘淘商城第二十九课(Redis的安装)
上节课我们一起学习了淘淘商城大广告位的展示,这节课我们一起学习下Redis的安装。 之所以要在工程中添加缓存,是因为在互联网项目中查询功能是非常频繁的,如果每次查询都调用数据库的话,会给数据库造成很大的压力,因此需要在用户和数据库之间加一层缓存,对于同样的查询,只查询一遍数据库,然后把数据保存到缓存当中,当其他用户再访问同样的页面时便可以直接从缓存中去读取数据,这样查询效率将会提原创 2017-04-20 12:01:30 · 3806 阅读 · 2 评论 -
学习淘淘商城第三十课(Jedis的使用)
上节课我们一起学习了Redis的安装,这节课我们一起学习下Redis的客户端Jedis的使用。 首先,在taotao-content-service工程添加对jedis的引用,如下所示。 redis.clients jedis 下面我们新建一个测试类来测试一下Jedis,如下所示。package com.taotao.jedis;imp原创 2017-04-20 15:32:00 · 2471 阅读 · 1 评论 -
学习淘淘商城第三十一课(Redis集群搭建)
首先说一下,为何要搭建Redis集群。Redis是在内存中保存数据,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据。适合存储大数据的是Hadoop生态系统的HBase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。 我们来看一下集群图,如下图所示。可以看到Redis集原创 2017-04-20 18:23:45 · 4716 阅读 · 6 评论 -
学习淘淘商城第三十二课(Redis集群测试)
上节课我们一起学习了怎样搭建一个六台设备的Redis集群,这节我们一起学习下如何测试集群。 首先启动Redis集群使用命令/usr/local/redis/bin/redis-trib.rb create --replicas 1 192.168.156.15:6379 192.168.156.16:6379 192.168.156.17:6379 192.168.156.18:63原创 2017-04-22 16:36:48 · 2179 阅读 · 1 评论 -
学习淘淘商城第三十三课(使用Spring来管理Redis单机版和集群版)
我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的时候使用的是单机版,但是当项目上线后使用的则是集群版。这就需要能够方便的在单机版和集群版之间进行切换。我们的做法便是定义一个Jedis接口类,然后新建两个实现类来分别处理单机版和集群版,最后在Spring容器中进行配置管理即可。 首先在taotao-content-interface工程下新建一个包co原创 2017-04-22 20:02:53 · 2831 阅读 · 2 评论 -
学习淘淘商城第三十四课(在业务逻辑中添加缓存)
上节课我们一起学习了如何用Spring容器来管理Redis单机版和集群版实现。这节我们来学习下在业务中添加缓存。 Redis添加缓存有两种方式,一种是set,另一种是hset,这两种方式的不同之处是hset可以对key进行分类,查询的时候先查询类,然后再在该类下查询某个key的值,这样的效率肯定要比set方式存储的数据查询效率高。因此我们选择hset的方式来存储缓存信息。原创 2017-04-22 22:14:56 · 2835 阅读 · 7 评论 -
学习淘淘商城第六十五课(查询商品详情添加缓存分析)
上节课我们一起学习了商品详情展示,这节课我们一起学习下如何添加缓存。 因为查询商品详情涉及到查询数据库,当网站访问量很大时,查询商品详情都去查询数据库的话,数据库的压力是难以承受的,为了解决这个问题就要引入缓存。但是引入缓存又有个问题需要考虑,那就是缓存资源是非常有限的,如果我们把大量的商品详情信息都放到缓存当中的话,缓存的压力是非常大的。我们知道,商品是分热点商品和冷门商品的原创 2017-05-14 22:56:36 · 1724 阅读 · 0 评论 -
学习淘淘商城第六十六课(商品详情缓存的实现)
上节课我们一起分析了下商品详情缓存策略,这节课我们一起实现商品详情缓存的添加。 首先,我们要想清楚缓存应该加到哪个工程当中,现在我们有两个工程可以选择,第一个工程是taotao-item-web(商品详情工程),如果把缓存加到这个工程的话,由于该工程是个web工程,不被其它工程所共用,那么这块缓存的功能只能被它自己使用。第二个工程是taotao-manager(商品工程),由于多个原创 2017-05-15 00:05:51 · 2106 阅读 · 2 评论 -
学习Redis第一课(Nosql入门和概述)
现在Redis越来越火,为了适应技术的发展,开始学习一下Redis,在学习Redis之前先学习一下Nosql。第一部分:入门概述 1.1 互联网时代背景下大机遇,为什么用nosql 1.1.1 单机Mysql的美好年代(好几年前) 当时的业务很相对简单,就是JSP--->Action---->Service---->D原创 2016-11-28 00:51:55 · 1635 阅读 · 1 评论 -
学习Redis第二课(Redis入门介绍)
第一部分:入门概述 1.1 Redis是什么? Redis:Remote Dictionary Server(远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为数据结构服务器原创 2016-11-29 00:49:51 · 716 阅读 · 0 评论 -
redis开机自启动
1、设置redis.conf中daemonize为yes,确保守护进程开启。2、编写开机自启动脚本vi /etc/init.d/redis#redis脚本内容如下:#chkconfig: 2345 10 90# description: Start and Stop redisPATH=/usr/local/bin:/sbin:/usr/转载 2017-01-15 12:58:11 · 960 阅读 · 0 评论 -
redis-desktop-manager的使用
实际工作环境中,Redis会安装在服务器上,我们想使用Redis服务就要使用Redis终端。 redis-desktop-manager便是来连接Redis服务并可供我们学习使用的。 首先,安装 redis-desktop-manager,大家可以到http://download.csdn.net/detail/u012453843/9820194这个地址下载安装包并进行安装。原创 2017-04-20 14:45:41 · 14638 阅读 · 11 评论