redis
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Rub
小叶曲
这个作者很懒,什么都没留下…
展开
-
redis适合什么场景
1、缓存缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非常多。(推荐:《redis学习》)2、排行榜很多网站都有排行榜应用的,如京东的月度销量榜单、商品按时间的上新排行榜等。Redis提供的有序集合数据类构能实现各种复杂的排行榜应用。3、计数器什么是计数器,如电商网站商品的浏览量、视频网站视频的播放数等。为了保证数据实时效,每次浏览都得给原创 2020-06-21 23:23:05 · 346 阅读 · 0 评论 -
NoSQL简介
为什么要用Nosql单机 MySql的时代90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页Html ~服务器根本没有太大的压力!思考一下,这种情况下:整个网站的瓶颈是什么?数据量如果太大,一个机器放不下了! 数据的索引(B+ Tree),一个机器内存也放不下 访问量(读写混合),一个服务器承受不了~ ...原创 2020-06-21 23:22:53 · 192 阅读 · 0 评论 -
Redis入门
概述redis是什么Redis ( Remote Dictionary Server ),即远程字典服务是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。免费和开源!是当下最热门的NoSQL技术之一,也被人们称之为结构化数据库redis能干嘛1、内存存储、持久化,内存中是断电即失原创 2020-06-21 23:22:46 · 198 阅读 · 0 评论 -
Redis的基础知识
基础知识redis默认有16个数据库默认使用的是第0个select 3 #切换数据库dbsize #查看 DB 大小keys * #查看当前数据库中所有的keyflushdb #清除当前数据库flushall #清除所有的数据库Redis是单线程的(6.X支持多线程)明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线原创 2020-06-21 23:22:41 · 161 阅读 · 0 评论 -
Redis的基本命令
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction原创 2020-06-21 23:22:35 · 224 阅读 · 0 评论 -
Redis基本的事务操作
事务Redis单条命令式保证原子性的,但是事务不保证原子性Redis事务本质:一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行一次性:在队列里一次性执行 顺序性:按照队列顺序执行 排他性:在执行的过程中是不允许干扰的--------队列setsetset执行--------Redis事务没有没有隔离级别的概念所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行redis的事务开启事务(multi) 命令入...原创 2020-06-21 23:22:27 · 187 阅读 · 0 评论 -
Redis实现乐观锁
监控(Watch)悲观锁:很悲观,认为什么时候都会出问题,无论做什么都会加锁乐观锁:很乐观,认为什么时候都不会出问题,所以不会上锁。更新数据的时候去判断一下,在此期问是否有人修改过这个数据。 获取version 更新的时候比较versionRedis的监视测试正常执行127.0.0.1:6379> set money 100OK127.0.0.1:6379> set out 0OK127.0.0.1:6379> watch money ..原创 2020-06-21 23:22:21 · 780 阅读 · 0 评论 -
Jedis
什么是Jedis是Redis官方推荐的 java 连接开发工具,使用java操作redis的中间件测试创建一个简单的 maven项目导入对应的依赖导入 jedis 的包<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifac...原创 2020-06-21 23:22:14 · 351 阅读 · 1 评论 -
SpringBoot 整合 Redis
SpringBoot操作数据: spring-data、jpa、jdbc、mongodb、redisSpringData也是和SpringBoot齐名的项目说明:在SpringBoot2.x之后,原来使用的 jedis 被替换为了 lettuce ?jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedls pool 连接池。更像BIO 模式lettuce:采用netty ,实例可以再多个线程中进行共享,不存在线程不安全的情况,可以减少线程数据了。更像NIO模式、原创 2020-06-21 23:22:08 · 357 阅读 · 0 评论 -
redis.conf 详解
单位配置文件 unit 单位对大小写不敏感包含(INCLUDES)把红框中的配置文件导入进来网络(NETWORK)bind 127.0.0.1 # 绑定的ip (远程注释)protected-mode yes # 保护模式 (远程no)port 6379 # 端口设置通用 (GENERAL)daemonize yes ...原创 2020-06-21 23:22:00 · 158 阅读 · 0 评论 -
Redis的持久化
Redis持久化——RDBRedis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。RDB(Redis DataBase)我们默认的就是RDB,一般情况下不需要修改这个配置在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写到一个临时文件中,等待持久化过程都结束了,再用这个临时文件替换上次持久原创 2020-06-21 23:21:53 · 186 阅读 · 0 评论 -
Redis订阅发布
发布订阅Redis发布订阅 (pub/sub) 是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。(微信、微博、关注系统)Redis客户端可以订阅任意数量的频道。订阅/发布消息图:第一个:消息发送者; 第二个:频道; 第三个:消息订阅者下图展示了频道channel1,以及订阅这个频道的三个客户端——client2、client5 和 client1 之间的关系:当有新消息通过 PUBLISH命令 发送给 频道channel1 时,这个消息就会被发送给订阅它的...原创 2020-06-21 23:21:47 · 256 阅读 · 0 评论 -
Redis主从复制
主从复制认识主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为 主节点 (master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。 Master以写为主,Slave 以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点主从复制的作用:数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 故障恢复原创 2020-06-21 23:21:40 · 900 阅读 · 0 评论 -
Redis缓存穿透和雪崩
Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题。从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是:缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。缓存穿透...原创 2020-06-21 23:21:25 · 204 阅读 · 0 评论