随笔分类 -  Redis

the study of not only redis
摘要:一、常见概念 击穿: 概念:redis作为缓存,设置了key的过期时间,key在过期的时候刚好出现并发访问,直接击穿redis,访问数据库 解决方案:使用setnx() 相当于一把锁,设置的时候,发现设置过期,加锁,只有获得锁的人才可以访问DB,这样就能防止击穿。 逻辑: question1:如果第 阅读全文
posted @ 2019-09-14 18:32 SteveYu 阅读(318) 评论(0) 推荐(0)
摘要:Redis单节点容量问题 一、单节点容量问题 我们在实际场景中,往往遇上一个单节点容量问题。 1.进行 业务拆分 ,数据分类 2.到了 数据 不能拆分的时候,可以进行数据分片 进行哈希取模(影响分布式下的扩展性%3,%4,如果多加一台机器,就会收到影响) 进行逻辑随机(可以放进去,但是拿不出来) 解 阅读全文
posted @ 2019-09-14 14:59 SteveYu 阅读(939) 评论(0) 推荐(0)
摘要:Redis集群 介绍 1.单机、单实例的持久化方式 在我们之前的课程中,我搭建了一个单机,单进程,缓存redis。我们使用rdb,aof持久化,用来确保数据的安全。 2.单节点、单实例面临的问题: 单点故障 容量有限 压力 面对这么多问题,我们解决的方式是,将单节点变为多节点进行架构: 1.进行读写 阅读全文
posted @ 2019-09-14 00:00 SteveYu 阅读(272) 评论(0) 推荐(0)
摘要:Redis高级运用 一、管道连接redis(一次发送多个命令,节省往返时间) 1.安装nc 2.通过nc连接redis 3.通过echo向nc发送指令 二、发布订阅(pub/Sub) 三、事务(transactions) 四、布隆过滤器(redisbloom) 在redis.io/modules选择 阅读全文
posted @ 2019-09-12 23:09 SteveYu 阅读(660) 评论(0) 推荐(1)
摘要:Redis架构 1.1.问题 redis是单线程,单实例,为什么并发那么多,依旧很快呢? 回答:因为调用了系统内核的epoll 1.2.Linux的早期版本 Linux有Linux kernal,我们的客户端,进行连接,首先到达的是Linux kernal,在Linux的早期版本,只有read和wr 阅读全文
posted @ 2019-09-12 23:08 SteveYu 阅读(193) 评论(0) 推荐(0)
摘要:Redis语法 1.string select db 选择数据库(0 20) set k v 设置一个数据 set k1 v nx nx仅仅可以新建的时候进行插入数据 set k2 v xx xx仅仅可以更新的时候进行更新数据 mset k1 v1 k2 v2 可以进行设置多个值 get k 返回一 阅读全文
posted @ 2019-09-12 23:08 SteveYu 阅读(843) 评论(0) 推荐(0)
摘要:Redis单节点安装 一、Redis的数据类型 string hash list set zset 二、安装 2.1.下载 2.2.解压 2.3.安装 2.4.修改环境变量 2.5.安装服务 阅读全文
posted @ 2019-09-12 23:07 SteveYu 阅读(205) 评论(0) 推荐(0)
摘要:Redis 产生背景 1.1.数据存储的发展史 1.1.1.磁盘时代 很久之前,我们的数据存储方式是磁盘存储,每个磁盘都有一个磁道。每个磁道有很多扇区,一个扇区接近512Byte。 磁盘 的寻址速度是毫秒级的,带宽是GB/M的。 内存 是ns级的,带宽也比磁盘大上好几个数量级。总体来说,磁盘比内存在 阅读全文
posted @ 2019-09-12 23:05 SteveYu 阅读(1126) 评论(0) 推荐(1)
摘要:基本类型 安装 按照README的安装步骤进行 架构原理 redis单进程,单线程,并发很多的请求,如何变得很快的呢?? 当我们使用多个redis-cli进行连接的时候,我们首先对通过redis-cli连接到了linux kernel,linux kernel自带一个epoll的调用,我们在使用re 阅读全文
posted @ 2019-08-31 01:24 SteveYu 阅读(233) 评论(0) 推荐(0)
摘要:key的通用操作 keys pattern: pattern *表示任意一个多个字符 ?表示任意一个字符 del key1 key2 删除多个key exists keyname 查看是否存在 rename key newkey 重命名 expire key 设置过期时间 ttl key 查看剩余时 阅读全文
posted @ 2019-04-06 16:16 SteveYu 阅读(269) 评论(0) 推荐(0)
摘要:Redis的5种基本类型 1.String 2.Hash 3.List 4.Set 5.Sorted Set String常见用法 1.get key 返回value 2.set key value 设置键值对 3.getset key value 返回value并且设置键值对 4.del key 阅读全文
posted @ 2019-04-06 15:45 SteveYu 阅读(196) 评论(0) 推荐(0)
摘要:Redis安装 关于软件安装,之前是通过记录视频,前段时间发现可以直接阅读官网进行安装,这步省略 启动:前端启动直接启动src目录下redis-server,后端启动修改redis.conf中daemonize yes,之后./redis-server redis.conf可以启动 关闭,可以直接s 阅读全文
posted @ 2019-04-05 10:05 SteveYu 阅读(231) 评论(0) 推荐(0)
摘要:redis是一个用c语言开发的一个开源的高性能键值对(key-value)数据库,基本类型: 1)字符串型 string 2)字符串列表 lists 3)字符串集合 sets 4)有序字符串集合 sorted sets 5)哈希类型 hashs 阅读全文
posted @ 2018-11-24 00:56 SteveYu 阅读(150) 评论(0) 推荐(0)
摘要:为什么需要NoSQL? 互联网自扩大规模来一直面临3个问题 1.High performance高并发 一个网站开发实时生成动态页面可能会存在高并发请求的需求,硬盘IO已经无法接受 2.Huge Storage高存储 用户数据太多,业务变复杂(类似qq,淘宝的功能变多),就连bat公司等也面临高存储 阅读全文
posted @ 2018-11-24 00:39 SteveYu 阅读(202) 评论(0) 推荐(0)