自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奇涛技术栈

分享工作中用到的一些IT技术知识。

  • 博客(8)
  • 收藏
  • 关注

原创 C/C++系列--源代码和Mysql编码不一致,导致Mysql中文乱码

这篇文章源于我们公司去IOE架构演进过程中出现的一个问题:我们的项目后台是C/C++编写的常驻服务程序,规模比较大,编译工程使用的是Makefile/G++,数据库使用的是Oracle,在去IOE架构演进中需要将Oracle替换成Mysql,同时引入各种分布式技术组件,但是在验证数据库替换时出现了一个问题:C/C++源码、Oracle、Mysql的编码各不相同,导致应用将中文数据入Mysql时出现乱码。------有兴趣的同学可以百度了解一些编码的知识,在这里就不再赘述了。直接上解决方案:在make

2021-03-23 10:50:07 158 1

原创 Redis系列--主从同步

Redis为了解决单点故障带来的数据安全问题,和提高读数据操作的高并发性,实现了一主多从的主从同步机制,即部署一个master节点负责读写操作及向slave节点同步数据,部署多个slave节点负责读操作及接收来自master节点的同步操作命令。主从同步配置:主从同步机制的配置还是比较简单的:在slave节点的redis.conf配置文件中配置slaveof masterip maste...

2020-04-20 15:35:00 276

原创 Redis系列--Stream消息队列

RedisStream,是Redis 5.0版本新增加的一个高级数据结构,从字面意思看就是一个流结构,但是在功能上,RedisStream是Redis对消息队列的一个最佳实现,几乎满足了一个典型消息队列组件应该具备的所有功能,这是Redis作者谋划多年,也是Redis 5.0版本最大的一个Feature了。上图是我根据Redis Stream的功能和命令画的大体结构图,可以看出Redi...

2020-04-19 19:37:09 1651 2

原创 Redis系列--数据结构

Redis是一个基于内存的,存放key-value型数据的Nosql数据库,它的key永远都是字符串,而它的value支持多种数据类型,其中最常用的数据类型有五种:string、list、set、hash、zset;这些数据类型都是基于Redis底层数据结构的实现,Redis底层实现的数据结构包括:sds、list、dict、zskiplist、intset、ziplist等等,在数据类型和数据结...

2020-04-09 14:03:13 158

原创 Redis系列--渐进式哈希

Redis支持的数据结构有很多,其中dict的使用非常频繁,其实Redis的每一个数据库结构都是一个dict。dict使用哈希表实现,这也是Redis性能十分强悍的原因之一,增删改查的时间复杂度为O(1).上图是我根据Redis源码中定义的数据结构及网上资料参考画的参考图。随着Redis的操作越来越多,dict中保存的数据量也会动态变化,当数据量增加或者减少到一定的程度,为了让负载因子...

2020-04-09 14:02:26 459 1

原创 Redis系列--过期机制

我们在使用Redis的时候,经常会给某一个key设置存活时间或者过期时间,过期之后,key将不可用,当然也可以不设置,让它永不过期,永远可用。那么对于那些设置了过期时间的key,Redis内部是怎么判断又是怎么处理的呢?今天,我们就来看一下Redis内部的清洁工:Redis过期机制。为Redis的KEY设置存活时间: expire/pexpire命令:expirename ...

2020-04-09 14:00:59 256

原创 Redis系列--IO多路复用

Redis Server跑在单进程单线程中,接收到的命令操作都是按照顺序线性执行的,即便如此,它的读写性能依然能达到10W+的QPS,不得不说:Redis的设计十分优秀。为什么Redis的读写性能这么高呢?原因有许多,我们列举主要的三个: 1、Redis基于内存操作:绝大部分的请求为纯粹的内存操作,而且使用hash结构存储数据,查找和操作的时间复杂度均为O(1)。 2、...

2020-04-09 13:58:11 666

原创 Redis系列--持久化

Redis为了提高数据的读写性能,将数据存放在内存中,但是内存中的数据会随着RedisServer的停止或者其他故障而丢失,为了防止这种情况的出现,我们需要将内存中的数据保存到磁盘上,以便RedisServer重启时能从磁盘中快速恢复原有数据。这个过程就叫做Redis持久化。Redis持久化有三种机制:1、RDB机制(Redis DataBase):也叫快照机制,将某一时刻...

2020-04-09 13:55:34 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除