Redis

Linux进程管理工具 Supervisor详解

点点圈 提交于 2021-02-05 20:54:47
Supervisor安装与配置(linux/unix进程管理工具) Supervisor( http://supervisord.org )是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。 因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7.6,Python2.7.5版本环境下,介绍Supervisor的安装与配置步聚: 实验环境 系统平台 cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) Python版本 python -VPython 2.7.5 如果python版本低于2.6请升级,下面贴出一个安装python3.6.8的安装示例 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk

Redis简单使用

我与影子孤独终老i 提交于 2021-02-05 16:41:27
Redis 知识点 redis的全称为远程字典服务器 Redis中文网 中Redis的介绍: Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings) , 散列(hashes) , 列表(lists) , 集合(sets) , 有序集合(sorted sets) 与范围查询, bitmaps , hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication) , LUA脚本(Lua scripting) , LRU驱动事件(LRU eviction) , 事务(transactions) 和不同级别的 磁盘持久化(persistence) , 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster) 提供高可用性(high availability)。 1. 为什么使用Redis redis是一种内存字典,访问速度远快于访问磁盘 随着文件变大,一个data page默认4k,这意味着在没有一个类似B+树的索引时查找一个大文件中的磁盘数据需要的寻址时间变长 随着访问量增加和需要取出的数据量变大磁盘I/O变大,而磁盘带宽有限 关系型数据库必须给出schema类型(字节宽度)以利于存储

Why is SQLite faster than Redis in this simple benchmark?

和自甴很熟 提交于 2021-02-05 12:58:17
问题 I have done simple performance test on my local machine, this is python script: import redis import sqlite3 import time data = {} N = 100000 for i in xrange(N): key = "key-"+str(i) value = "value-"+str(i) data[key] = value r = redis.Redis("localhost", db=1) s = sqlite3.connect("testDB") cs = s.cursor() try: cs.execute("CREATE TABLE testTable(key VARCHAR(256), value TEXT)") except Exception as excp: print str(excp) cs.execute("DROP TABLE testTable") cs.execute("CREATE TABLE testTable(key

Redis backed ASP.NET SessionState provider [closed]

佐手、 提交于 2021-02-05 12:38:15
问题 As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 8 years ago . I'm currently developing an ASP.NET SessionState custom provider that is backed by Redis using Booksleeve. Redis seemed like a perfect

安装mysql,redis出现的问题

◇◆丶佛笑我妖孽 提交于 2021-02-05 09:29:54
出现下面这张图片的原因是: mysqld --initialize 需要初始化才会出现data内容 包含基础信息 redis启动时报错: 解决方案如下 按顺序输入如下命令就可以连接成功 1. redis-cli.exe 2. shutdown 3. exit 4. redis-server.exe redis.windows.conf 来源: oschina 链接: https://my.oschina.net/u/4268265/blog/4130486

Redis SCAN matching

寵の児 提交于 2021-02-05 08:51:33
问题 If I have the following keys in my Redis: Person:1234 Person:1234:email Person:name:John Person:lastName:Doe I am trying to only MATCH the first key using SCAN . I have tried with Person:* , but that of course returns all of them. Person:[^:]* or similar attempts did not work, I tried to match everything excluding the : . Could someone point me in the right direction? 回答1: Redis scan match only support glob style matching. It cannot do regex matching. In order to achieve your goal, you have

Redis SCAN matching

為{幸葍}努か 提交于 2021-02-05 08:51:29
问题 If I have the following keys in my Redis: Person:1234 Person:1234:email Person:name:John Person:lastName:Doe I am trying to only MATCH the first key using SCAN . I have tried with Person:* , but that of course returns all of them. Person:[^:]* or similar attempts did not work, I tried to match everything excluding the : . Could someone point me in the right direction? 回答1: Redis scan match only support glob style matching. It cannot do regex matching. In order to achieve your goal, you have

高并发架构系列:分布式锁的由来、特点及Redis分布式锁的实现详解

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-05 07:47:01
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?今天来探讨分布式锁这个话题。 什么是分布式锁 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 1.线程锁 主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如Synchronized、Lock等。 2.进程锁 为了控制同一操作系统中多个进程访问某个共享资源,因为进程具有独立性,各个进程无法访问其他进程的资源,因此无法通过synchronized等线程锁实现进程锁。 3.分布式锁 当多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问。 分布式锁的由来 在传统单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。 但是在分布式系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机并发控制锁策略失效,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁的由来。 当多个进程不在同一个系统中,就需要用分布式锁控制多个进程对资源的访问。 分布式锁的特点 首先

3306π北京站拍了拍你

时间秒杀一切 提交于 2021-02-04 20:42:13
社区的线上活动又来了,开源软件所具有的分享精神,体现在方方面面,拥抱开源,加入开源社区的大家庭! 错过了618?没关系 8月8号有一场不容错过的数据库盛宴等你来 不需要定金,不需要尾款,统统免费 这里有MySQL 8.0、Redis、分布式、Proxy... 活动议程 嘉宾介绍 主题一 MySQL 8.0 自动升级与新的错误日志 徐轶韬 MySQL解决方案高级工程师 Oracle公司MySQL解决方案工程师,为中国及东北亚地区的MySQL用户提供MySQL相关产品的售前咨询,企业级产品介绍服务以及推广和普及MySQL数据库在社区的使用 内容简介 MySQL8.0做出了巨大的改变,本次为您分享MySQL8.0的自动升级、注意事项和MySQL8.0新的错误日志 主题二 Redis sentinel原理及实现源码剖析 冯光普 数据库负责人 新零售电商多点Dmall数据库负责人,负责大规模MySQL、Redis、MongoDB集群运维、架构、平台建设。曾在阿里巴巴数据库团队,负责AliSQL分支维护,特性开发及bugfix。对MySQL、Redis原理及实现、高可用架构方案有一定研究,热衷开源数据库技术交流 内容简介 1. Redissentinel原理介绍 2. 源码实现剖析 3. 实践建议及讨论 主题三 MarxDB金融级分布式数据库 石慧兴 数据库研发

EDAS 微服务应用同城容灾最佳实践

早过忘川 提交于 2021-02-04 20:40:16
前言 上云目前已经是绝大数企业首选的IT基础设施建设方案,但是云上仍然存在一些不确定因素(机房硬件故障、网络故障、断网/断电、人为操作失误),导致各大云厂商每年在不同的数据中心都会发生一些故障,所以建设具备容灾能力的业务应用是必需的。公共云上容灾解决方案涵盖同城双活、跨Region容灾和异地多活等容灾场景,对公共云上大多数中长尾客户来说,更需要的是一种对应用侵入性小甚至透明,但又能保证高可用的容灾方案,同城双活无疑是首选的容灾方案,大多数业务应用只要做到同城双活,就可以避免掉大多数数据中心不可用故障。 本实践就是帮助大家高效、低成本地实现自己的业务应用具备同城双活容灾能力。通过这篇文章可以基于EDAS高效的实现同城双活容灾,在实现这些容灾场景的同时需要其他的阿里产品配合,也会一并介绍对应的解决方案,可以参考下面架构图: 鉴于目前需要做容灾的主流架构都已经拆分为微服务架构,而且微服务架构本身也是一种具备更强容灾高可用能力的架构。微服务架构一般由网关(统一接入层)、RPC框架(Dubbo,Spring Cloud)、消息(MQ)、分布式数据库、缓存等核心软件构成,通过EDAS可以高效地实现入口流量切流、RPC路由容灾、多可用区部署等能力,参考下图: 方案主要产品介绍 EDAS 企业级分布式应用服务 EDAS(Enterprise Distributed Application