redis
藤原豆腐店-
准备迁移博客,新博客地址:https://www.jianshu.com/u/16102e967c0f
展开
-
Windows下Redis安装与配置
下载地址:https://github.com/MSOpenTech/redis/releases选择zip文件下载打开一个 cmd 窗口 使用cd命令切换目录到解压后的redis目录里面,运行 redis-server.exe redis.windows.conf 显示如下界面: 然后另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。 切换到redi...原创 2019-02-26 17:20:18 · 211 阅读 · 0 评论 -
Redis两种持久化方式,RDB、AOF对比
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。为了保证它的效率,会将数据缓存在内存中,但是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,以保证数据的持久化。以免在断电关机时数据丢失。Redis提供的持久化方式有两种:rdb:快照形式是直接把内存...原创 2019-02-26 17:20:12 · 560 阅读 · 0 评论 -
springboot整合mybatis,mysql做数据库存储,redis做缓存
redis应用的场景通过缓存来减少对关系型数据库的查询次数,减轻数据库压力。在执行DAO类的select***(), query***()方法时,先从Redis中查询有没有缓存数据,如果有则直接从Redis拿到结果,如果没有再向数据库发起查询请求取数据。 springboot已经集成了redis缓存,只需要在pom.xml中加载redis,然后通过注解即可完成配置。首先在配置类...原创 2019-02-26 17:18:37 · 17204 阅读 · 7 评论 -
Redis事务,watch命令学习
redis事务:redis的事务和mysql等关系型数据库的事务不太一样,redis中的事务不会回滚,只能手动收拾事务失败后的烂摊子。在命令行中,MULTI是事务的开始命令。EXEC是事务的执行命令。并且会按顺序执行事务中的命令,不会被其他事务的命令打扰。在java操作redis中,是通过.multi()和.exec()开始和执行事务。MULTI会将之后加入的所有命令按顺序的加入到命令...原创 2019-03-05 16:07:15 · 1793 阅读 · 0 评论 -
redis为什么是单线程
原因一:redis本身就是基于内存操作的,所以每个操作执行速度都很快。如果使用多线程,就需要解决多线程同步的问题,就会涉及到线程的频繁切换而消耗CPU。单线程的使用避免了不必要的上下文切换和竞争条件,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗。原因二:redis中的数据结构比较简单,对数据的操作也就比较快。原因三:使用多路复用IO,即非阻塞IO。...原创 2019-02-26 17:23:47 · 2860 阅读 · 1 评论 -
Redis setNX锁实现
setNX设置锁时设置值和过期时间是个原子的操作。对于setNX的并发性问题在底层实现上有这些措施。1.对锁加一个过期时间,防止客户端A设置了锁,然后客户端挂了,锁一直得不到释放这种情况。2.释放锁的操作必须使用Lua脚本来实现。释放锁其实包含三步操作:'GET'、判断和'DEL',用Lua脚本来实现能保证这三步的原子性。否则,如果把这三步操作放到客户端逻辑中去执行的话,就有可能发生...原创 2019-03-05 15:53:53 · 3142 阅读 · 0 评论