
Redis
文章平均质量分 86
redis
Able张
高大上
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
布隆过滤器算法
1. 简介客户端:这个key存在吗?服务器:不存在/不知道本质上,布隆过滤器是一种数据结构,是一种比较巧妙的概率型数据结构。它的特点是高效地插入和查询。但我们要检查一个key是否在某个结构中存在时,通过使用布隆过滤器,我们可以快速了解到「这个key一定不存在或者可能存在」。相比于传统的List、Set、Map这些数据结构,它更加高效、占用的空间也越少,但是它返回的结果是概率性的,是不确切的。布隆过滤器仅用于测试集合中的成员资格。使用布隆过滤器的经典示例是减少对不存在的密钥的昂贵磁盘(或网络)查找原创 2021-03-26 15:55:08 · 526 阅读 · 0 评论 -
Redis Sentinel部署及在Laravel中使用
环境说明当前的环境条件如下,当然这并不是部署sentinel的最低可行版本。CentOS7(ip: 192.168.8.11) Redis5.0.2(可执行命令已复制到/usr/local/bin/) Laravel5.5(5.4>=版本开始支持sentinel) predis1.1部署按3个server节点(一主两从)+3个sentinel节点的拓扑结构进行部署。部署的端口分配如下:IP 端口 类型 配置文件 192.168.8.11 6400转载 2020-12-15 16:19:01 · 427 阅读 · 0 评论 -
rbdtools查看 redis key的占用内存大小
安装rdbtoolsyum -y install gccyum -y install epel-releaseyum -y install python-pipyum install python-devel不安装会报错Python.h:没有那个文件或目录pip install rdbtoolsrdb -c memory dump.rdb > result.csv原创 2020-11-24 09:46:59 · 384 阅读 · 0 评论 -
Redis 性能测试
1.redis 100个并发 100000个请求 检测服务器性能redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 10000002.测试存取100个字节数据包性能redis-benchmark -h 127.0.0.1 -p 6379 -q -d 1003.只测试get,set,hset,hget 操作性能redis-bench...原创 2020-04-27 22:33:16 · 349 阅读 · 0 评论 -
Redis数据类型及使用场景
摘要:Redis相比其它的KV数据库,其一大特点是支持丰富的数据类型.它一共支持5种数据类型,下面逐一介绍这5种数据类型及其使用场景...string简介:Strings数据类型是最常用、简单的key-value类型,普通的key/ value 存储都可以归为此类。value不仅可以是字符串,也可以是数字。因为是二进制安全的,所以你完全可以把一个图片文件的...原创 2020-04-25 18:39:04 · 213 阅读 · 0 评论 -
redis4支持内存碎片清理功能使用
最近看到redis4支持内存碎片清理了, 之前一直期待有这么一个功能, 因为之前遇到内存碎片的解决办法就是重启, 现在终于有了优雅的解决方案.\^o^/, 这个功能其实oranagra 在2017年1月1日已经提交pr了, 相关地址:https://github.com/antirez/redis/pull/3720版本说明:Redis 4.0-RC3 以上版本才支持的 需要使用je...转载 2020-04-20 15:49:39 · 476 阅读 · 0 评论 -
解决Redis启动报错:Transparent Huge Pages (THP) support enabled in your kernel
Redis启动时提示:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never &...原创 2020-04-07 10:09:26 · 3752 阅读 · 0 评论 -
windows下通过批处理脚本启动redis
windows下redis启动,需要进入redis安装目录,然后shift+右键,选择“在此处打开命令窗口”,然后输入redis-server.exe redis.conf,就可以启动redis了。如下所示:这种情况有一个问题,就是每次需要进入redis安装目录对应的文件夹,然后打开命令行,输入redis启动命令,因此有了更进一步的改进,就是利用批处理脚本来完成这些操作...原创 2020-04-07 10:02:21 · 1925 阅读 · 1 评论 -
redis线上配置
基础部分redis.conf(修改部分)bing ipdaemonize yespidfile /home/redis/pids/redis_6379.pidlogfile "/home/redis/logs/redis_6379.log"databases 256dir /home/redis/data/masterauth "password"slave-priority ...转载 2020-04-07 09:36:48 · 455 阅读 · 0 评论 -
CENTOS7下安装REDIS
一、安装redis第一步:下载redis安装包wget http://download.redis.io/releases/redis-4.0.6.tar.gz[root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz--2017-12-13 12...原创 2020-04-06 17:39:17 · 226 阅读 · 0 评论 -
php7安装redis扩展
当前使用Centos7.x系统,同样适用于Centos6.x,php当前使用7.1版本,wlnmp一键包已支持该扩展redis扩展包地址:https://pecl.php.net/package/redis1、安装所需依赖,如果在编译时还提示缺少其他依赖,请自行安装 1 yum install autoconf gcc gcc-c++ 2、...原创 2020-03-17 22:47:32 · 265 阅读 · 0 评论 -
用Redis轻松实现秒杀系统
秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。 用我这个方案,无论是电商平台特价秒杀,12306火车票秒杀,都不是事:)下面介绍一下为什么上述三种性能...转载 2019-01-26 11:01:33 · 223 阅读 · 0 评论 -
redis中各种数据类型对应的jedis操作命令
一、常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby),这种情况下转载 2016-09-26 14:24:00 · 390 阅读 · 0 评论 -
redis作为mysql的缓存服务器(读写分离)
一、redis简介Redis是一个key-value存储系统。和Memcached类似,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++( hiredis ),C#,PHP,JavaScript转载 2016-08-04 17:24:20 · 1977 阅读 · 1 评论 -
redis php 实例一
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于php-redis这个扩展的。1,connect描述:实例连接到一个Redis.参数:host: string,port: int返回值:BOOL 成功返回:TRUE;失败返回:FALSE<?php转载 2015-08-21 13:41:06 · 428 阅读 · 0 评论 -
Redis与Memcached的区别
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 2.Mem转载 2015-07-09 17:24:37 · 435 阅读 · 0 评论 -
布隆过滤器实战【防止缓存击穿】
为什么引入我们的业务中经常会遇到穿库的问题,通常可以通过缓存解决。 如果数据维度比较多,结果数据集合比较大时,缓存的效果就不明显了。 因此为了解决穿库的问题,我们引入Bloom Filter。适合的场景 数据库防止穿库 Google Bigtable,Apache HBase和Apache Cassandra以及Postgresql 使用BloomFilter来减少不存在的行或列的磁...原创 2019-11-25 17:07:19 · 506 阅读 · 0 评论 -
千万级高并发之Redis集群的一致性Hash算法
现在公司业务慢慢增大,单机的redis缓存已经只撑不住了 ,因此考虑redis集群,然而高并发集群的数据一致性性问题,是一个难以解决的问题,由于缓存数据量很大,Redis快正是快在其基于内存的快速存取。redis存在的问题,所有的缓存数据是分散存放在各个Redis节点上的,通过客户端实现路由算法,来将某个key路由到某个具体的节点。下面简单的了解下 hash算法一致性Hash概述为了能...原创 2019-11-11 22:16:34 · 1675 阅读 · 0 评论 -
Redis缓存雪崩和穿透的解决方法
今天来分享一下Redis几道常见的面试题:如何解决缓存雪崩?如何解决缓存穿透?如何保证缓存与数据库双写时一致的问题?一、缓存雪崩1.1什么是缓存雪崩?回顾一下我们为什么要用缓存(Redis):现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。在前面学习我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对...转载 2019-09-14 20:46:27 · 197 阅读 · 0 评论 -
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
Redis的集群方案大致有三种:1)redis cluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。一、sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是redis高可用的解...原创 2019-09-14 20:35:10 · 862 阅读 · 0 评论