- 博客(18)
- 资源 (5)
- 收藏
- 关注
原创 Redis专题:你的分布式锁有问题吗?
并发场景下多个进程或线程共享资源的读写,需要保证对资源的访问互斥。在单机系统中,我们可以使用Java并发包中的API、synchronized关键字等方式来解决;但是在分布式系统下,这些方式不再适用,我们需要自己实现分布式锁。常见的分布式锁的实现方案有:基于数据库、基于Redis、基于Zookeeper等。作为Redis专题的一部分,本文将基于Redis聊一聊分布式锁的实现方案。分析与实现问题分析分布式锁与JVM内置的锁有着共同的目的:让应用程序以预期的顺序访问或操作共享的资源,防止多个线程
2021-04-13 23:17:33 258
原创 Redis专题:集群模式这篇就够了!
跟着本系列一路走来,我们已经知道Redis通过主从复制为手动故障转移提供了可能,通过哨兵模式实现了监控及自动故障转移。Redis高性能的表现,使得哨兵模式可以一般规模的应用中轻松应对。随着业务系统功能、模块、规模、复杂性的增加,我们对Redis的要求越来越高,尤其是在高低峰场景的动态伸缩能力,比如:电商平台平日流量较低且平稳,双十一大促流量是平日的数倍,两种情况下对于各系统的数量要求必然不同。如果始终配备高峰时的硬件及中间件配置,必然带来大量的资源浪费。Redis作为业界优秀的缓存产品,成为了各..
2021-04-13 23:15:33 197
原创 Redis专题:深入解读哨兵模式
Sentinel是Redis在主从复制基础上构建的一套高可用解决方案,本文将从下图几个方面来介绍Redis的Sentinel模式。 写在前面上一篇文章《Redis专题:一文搞懂主从复制原理》我们了解到在主从模式下,主从复制机制使得slave成为与master完全一致的副本,一旦master宕机,我们可以选择一个正常的slave成为新的主节点,实现手动的故障恢复。但是,人工干预效率低、易出错,并且故障感知滞后,不具备生产实用性。一个能够自动感知系统故障、自动故障转移的可靠组件,肯定是我们必须的..
2021-04-13 23:11:59 375
原创 Redis专题:一文搞懂主从复制原理!
微信搜索公众号“码路印记”,感谢关注!在分布式环境中,数据副本(Replica)和复制(Replication)作为提升系统可用性和读写性能的有效手段被大量应用在各种分布式系统中,Redis 也不例外。Redis主从复制,以一主多从的模式建立的分布式系统,是Redis搭建高可用集群(哨兵模式、Cluster模式)的基础,为容错、故障转移提供强有力的支撑。本文将介绍以下内容: 主从示例Redis设置主从结构有三种方式: 在redis.conf中配置replicaof <ma...
2021-04-12 00:45:19 420
原创 Redis专题:万字长文详解持久化原理
本文将从以下几个方面介绍Redis持久化机制:写在前面本文从整体上详细介绍Redis的两种持久化方式,包含工作原理、持久化流程及实践策略,以及背后的一些理论知识。上一篇文章仅介绍了RDB持久化,但是Redis持久化是一个整体,单独介绍不成体系,故重新整理。Redis是一个内存数据库,所有的数据将保存在内存中,这与传统的MySQL、Oracle、SqlServer等关系型数据库直接把数据保存到硬盘相比,Redis的读写效率非常高。但是保存在内存中也有一个很大的缺陷,一旦断电或者宕机,.
2021-04-12 00:37:18 236
原创 Redis专题:基础知识点
微信搜索公众号“码路印记”,点关注不迷路!从本文开始我将开启Redis专题,逐步整理一些Redis的知识要点并分享出来,目前整理了以下要点。今天先分享第一篇,主要是Redis的一些基本知识点,也是通过这篇文章来挖掘需要完善Redis的知识体系。![image.png](https://img-blog.csdnimg.cn/img_convert/9fb79781e9e876e2b7db4614ee353a16.png#align=left&display=inline&height.
2021-04-12 00:27:56 144
原创 MySQL IN子查询
近日通过《mysql技术内幕:SQL编程》学习mysql子查询,书中介绍了IN子查询存在的问题,并且提供了一些优化方法。我在此书的基础上进行了深入研究,总结几点。MySql优化器对IN子查询优化时存在一个问题,MySql优化器对于IN语句的优化是“LAZY”的。对于IN子句,如果不显式的列表定义,如IN(‘a’,’b’,’c’),那么IN子句都会被转换为EXISTS的相关子查询。如下面这条独立
2012-11-20 17:18:26 2101
原创 mysql EXPLAIN语法——select_type
这篇文章我主要介绍mysql EXPLAIN语法中select_type的几种类型,并且根据实例进行举例分析。我使用的分析工具是Navicat for mysql,比较方便,当然也可以使用mysql的命令行客户端,就是截图的时候太大了,不好放在网页上。示例中使用的表:show create table `user`CREATE TABLE `user` ( `uid` int(1
2012-11-19 17:13:22 10524 3
原创 mysql EXPLAIN语法概述
1. DESCRIBE的同义词EXPLAIN tbl_name是DESCRIBE tbl_name或SHOW COLUMNS FROM tbl_name的同义词。如下例子:mysql>show create table t\G;***************************1. row *************************** Table
2012-11-19 15:55:06 774
原创 asp.net下xml文件的创建
xml文件是我们程序员经常打交道的一种文件,通常情况下我们用它来存储连接数据库的字符串,加解密的密钥等系统配置信息。因此,对于xml文件的操作是非常重要的。最近我在项目中也有大量对于xml文件的操作,对xml的操作进行了整理。(由于本人经验欠缺,整理的不好,欢迎大家拍砖。)一、XmlNode与XmlElement的区别我在整理过程中,发现分不清XmlNode与XmlElement两个类
2012-11-18 22:11:38 962
原创 Win7下搭建WAMP环境
之前写php程序都是在wampserver环境下运行的,发现不大好用,很多功能用不了,也许是没有找到解决方案,于是想自己配置一下。网上找来的。本文安装方法适用于 Windows7下的 Apache + MySQL + PHP(WAMP )安装,同时也适用于 Windows XP 系统。一、安装环境操作系统是 Windows7 中文版/英文版, Apache、PHP、MySQL官
2012-11-18 21:52:07 3563 1
转载 SQL语言分类
SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好学的语言)。然而SQL语言由于以上优点,同时也出现了这样一个问题:它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作:(1)扩充
2012-11-18 21:48:16 755
原创 sql 分页技术
<br />--create table TB_Page<br />--(<br />-- PId int primary key identity(1,1),<br />-- PName varchar(100)<br />--)<br /><br />--drop table tb_Page<br /><br />--declare <br />--@count int,<br />--@num
2011-04-05 17:09:00 518
原创 c# 网络编程知识整理(一)
今天学习了c#网络编程的一些东西,在这里记下来。1、客户端连接远程服务器 TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse("192.168.0.123"), 8500);2、服务端打开端口等待客户端连接 IPAddress ip = new IPAddress(n
2011-02-26 15:28:00 818
原创 C#多线程学习笔记
1. 编写多线程程序应该以正确的方式编写,保持线程的“原子性”,避免死锁,同时避免造成执行时的不确定性。2. 所谓“原子操作”,要么能完成它的全部步骤,要么将系统状态恢复初始状态的一个操作。3. 线程中DoWork()方法可以没有参数,也可以有参数。·当DoWork没有参数时,声明方式如下: ThreadStart threadStar
2011-02-23 11:12:00 633
转载 C# 中的委托和事件(转)
C# 中的委托和事件(转)源码下载:http://www.tracefact.net/SourceCode/Delegates-and-Events-in-CSharp.rar 本文很适合初学者学习C#的委托机制,强烈推荐!!!!引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛
2011-01-06 20:55:00 473
转载 ASP.Net生成验证码
using System;using System.Web;using System.Drawing;using System.Drawing.Imaging;using System.IO;public partial class images_code : System.Web.UI.Page{protected void Page_Load(object send
2010-03-17 13:47:00 495
XML文件操作实例 (C#源码)
2010-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人