随笔分类 -  Redis/SSDB

摘要:python-redis-lock 多个redis客户端访问同一个redis服务端,控制并发。 github:https://pypi.org/project/python-redis-lock/ 在使用这个库之前,需要安装如下: pip install python-redis-lock 使用锁的 阅读全文
posted @ 2020-09-27 16:46 -零 阅读(3248) 评论(1) 推荐(0) 编辑
摘要:前期准备 redis原生并不带布隆过滤器,需要单独下载并自行编译和加载。 1.下载redisbloom插件(redis官网下载即可) https://github.com/RedisLabsModules/redisbloom/ wget https://github.com/RedisLabsMo 阅读全文
posted @ 2020-09-20 22:18 -零 阅读(1563) 评论(0) 推荐(0) 编辑
摘要:Redis 中的 GEO(地理信息)类型 1 概述 2 GEOADD,添加成员的经纬度信息 3 GEODIST,计算成员间距离 4 GEORADIUS 基于经纬度坐标的范围查询 5 GEORADIUSBYMEMBER 基于成员位置范围查询 6 GEOPOS,获取成员经纬度 7 GEOHASH 计算经 阅读全文
posted @ 2020-09-20 21:44 -零 阅读(1388) 评论(0) 推荐(0) 编辑
摘要:一、单个简单的key存储的value很大 二、hash, set,zset,list 中存储过多的元素 三、一个集群存储了上亿的key 四、大Bitmap或布隆过滤器(Bloom )拆分 背景 业务场景中经常会有各种大key多key的情况, 比如: 1:单个简单的key存储的value很大 2:ha 阅读全文
posted @ 2020-09-04 10:25 -零 阅读(5929) 评论(0) 推荐(0) 编辑
摘要:目前对于互联网公司不使用Redis的很少,Redis不仅仅可以作为key-value缓存,而且提供了丰 富的数据结果如set、list、map等,可以实现很多复杂的功能;但是Redis本身主要用作内存缓存,不适合做持久化存储,因此目前有如SSDB、 ARDB等,还有如京东的JIMDB,它们都支持Re 阅读全文
posted @ 2020-08-20 19:54 -零 阅读(652) 评论(0) 推荐(0) 编辑
摘要:Twemproxy 概述 Twemproxy(又称为nutcracker)是一个轻量级的Redis和Memcached代理,主要用来减少对后端缓存服务器的连接数。Twemproxy是由Twitter开源出来的缓存服务器集群管理工具,主要用来弥补Redis/Memcached 对集群(cluster) 阅读全文
posted @ 2020-08-20 10:18 -零 阅读(1657) 评论(0) 推荐(0) 编辑
摘要:1.排查问题 下午登录服务器,发现用了十几秒才进入,使用top命令想看看是什么程序占用内存,找到了罪魁祸首。 2.解决问题 2.1定位病毒 1.使用top命令得出进程号(PID) 2.使用命令ls -l proc/{进程号}/exe得出文件位置 2.2清除病毒 1.使用 rm 命令直接删除,会发现提 阅读全文
posted @ 2020-08-06 16:53 -零 阅读(999) 评论(0) 推荐(0) 编辑
摘要:一、为什么要使用Lua脚本的好处 1、减少网络开销:可以将多个请求通过脚本的形式一次发送,减少网络时延和请求次数。 2、原子性的操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写脚本的过程中无需担心会出现竞态条件,无需使用事务。 3、代码复用:客户端发送的脚步会永久存在 阅读全文
posted @ 2020-07-07 20:05 -零 阅读(2776) 评论(0) 推荐(0) 编辑
摘要:方案设计 使用redis列表存储两个用户之间的聊天数据,存储内容使用json字符串封装,字段包括:fromid、toid、msg、time四个字段。 使用redis hash存储一个用户未读的消息条数。 存在问题:原子性问题。 Python Demo实现 import json import tim 阅读全文
posted @ 2020-07-07 14:28 -零 阅读(1853) 评论(0) 推荐(0) 编辑
摘要:作者:CP7链接:https://www.jianshu.com/p/bc84b2b71c1c 一、安装redis 下面介绍在Linux环境下,Redis的安装与部署,使用redis-3.0稳定版,因为redis从3.0开始增加了集群功能。1.可以通过官网下载 地址:http://download. 阅读全文
posted @ 2020-07-06 09:43 -零 阅读(608) 评论(0) 推荐(0) 编辑
摘要:转载自:http://www.cnblogs.com/WJ5888/p/4516782.html Redis中支持的数据结构比Memcached要多,如基本的字符串、哈希表、列表、集合、可排序集,在这些基本数据结构上也提供了针对该数据结构的各种操作,这也是Redis之所以流行起来的一个重要原因,当然 阅读全文
posted @ 2020-06-07 10:15 -零 阅读(1476) 评论(0) 推荐(0) 编辑
摘要:介绍 Redis没有直接使用C语言传统的字符串而是自己创建了一种名为简单动态字符串SDS(simple dynamic string)的抽象类型(C语言封装的字符串类型),并将SDS用作Redis的默认字符串表示。 SDS是Redis默认的字符表示,比如包含字符串值的键值对都是由SDS实现的。 sd 阅读全文
posted @ 2020-06-06 16:46 -零 阅读(1361) 评论(0) 推荐(0) 编辑
摘要:前言 在版本3.2之前,Redis 列表list使用两种数据结构作为底层实现: 压缩列表ziplist 双向链表linkedlist 默认为linkedlist 在3.2之后,由quicklist实现。 双向链表linkedlist Redis实现的是标准的双向链表。 链表节点定义: 链表定义: 总 阅读全文
posted @ 2020-06-05 23:37 -零 阅读(901) 评论(0) 推荐(0) 编辑
摘要:keys命令 keys * 、keys id:* 分别是查询全部的key以及查询前缀为id:的key。 缺点: 1、没有 offset、limit 参数,一次返回所有满足条件的 key。 2.keys算法是遍历算法,复杂度是O(n),也就是数据越多,时间复杂度越高。 3.数据量达到几百万,keys这 阅读全文
posted @ 2020-06-04 18:49 -零 阅读(11329) 评论(0) 推荐(0) 编辑
摘要:明日更新文字。 建立反向索引 基于文件建立单词与文档的反向索引,使用集合存储。 # # #!/usr/bin/env python # # # -*- coding: UTF-8 -*- import jieba import codecs import redis import uuid #分词 阅读全文
posted @ 2020-06-03 00:13 -零 阅读(1859) 评论(0) 推荐(0) 编辑
摘要:转载地址:http://www.jb51.net/article/69131.htm 本文介绍redis排序命令 redis支持对list,set,sorted set、hash元素(元素可以为数值与字符串)的排序。 sort 排序命令格式: sort key [BY pattern] [LIMIT 阅读全文
posted @ 2020-06-02 23:26 -零 阅读(7160) 评论(0) 推荐(0) 编辑
摘要:缓存网页 在有些网站上的首页不会经常发生大的变化,这些页面不需要每次载入都要动态生成的内容,我们可以使用缓存来降低网站处理相同负载所需的服务器数量,并让网站的速度变得更快。 Flask+Redis使用缓存页面的功能: import redis from flask import Flask,requ 阅读全文
posted @ 2020-05-24 16:29 -零 阅读(1367) 评论(0) 推荐(0) 编辑
摘要:lua-book Lua脚本学习 Lua 是一个小巧的脚本语言。 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz 阅读全文
posted @ 2020-05-20 12:13 -零 阅读(477) 评论(0) 推荐(0) 编辑
摘要:原文链接:兼容go redis cluster的pipeline批量 前言: redis cluster集群机制是不错,但因为是smart client设计,没有proxy中间层,导致很多redis批量命令在不同slot时不能适配,比如 mset、mget、pipeline等。 该篇文章讲述了red 阅读全文
posted @ 2020-05-20 11:32 -零 阅读(2698) 评论(0) 推荐(0) 编辑
摘要:为什么使用 Pipeline? Redis客户端执行一条命令分为如下四个过程: 发送命令 命令排队 命令执行 返回结果 其中,1到4称为Round Trip Time(RTT,往返时间)。 Redis提供了批量操作命令(例如mset、mget等),有效地节省了RTT。但大部分命令是不支持批量操作的, 阅读全文
posted @ 2020-05-20 10:22 -零 阅读(3218) 评论(0) 推荐(0) 编辑