自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis的内存上限和内存回收策略

上一篇文章讲到了Redis的内存分配和简单的Redis内存查看,今天这篇文章带来Redis的内存上限管理和Redis的内存回收策略。内存上限Redis可以通过 maxmemory 参数来限制最大可用内存,主要为了避免Redis内存超过操作系统内存,从而导致服务器响应变慢甚至死机的情况。maxmemory 参数限制的是Redis的对象内存大小,也就是 used_memory 对应的内...

2018-09-10 22:56:10 7215 3

原创 Redis 的内存分配

我们都知道Redis是基于内存的一个数据库,那么Redis是怎么管理内存的呢?今天这篇文章主要分享一下Redis的内存分配和简单的查看Redis内存使用情况。内存分配Redis进程的内存消耗主要包括:自身内存 + 对象内存 + 缓冲内存 + 内存碎片。1 自身内存Redis自身内存消耗非常少,通常used_memory在800KB左右,used_memory_rss在3M左...

2018-09-10 22:55:23 6782 1

原创 Redis GEO的使用

Redis 3.2提供了GEO功能,支持存储地理位置信息用来实现类似微信中附近的人的功能,使用起来十分方便。下面简单介绍一下Redis中几个和GEO相关的命令1.添加地理位置geoadd key long lat member [longitude latitude member] 城市 经度 纬度 成员 上海 121.47 31.23...

2018-09-07 11:12:37 2674

原创 Redis HyperLogLog 用于记录独立总数

HyperLogLog是Redis支持的一种数据结构,使用基数算法来完成独立总数的统计。这里先来介绍一下基数算法。基数是指一个集合中,不同的数的个数。基数算法是估计一个集合中不同的数的个数,不是数据总量的估计,也不是基数的精确计算。而是用概率算法的思想,来用低空间和时间成本,以一个很低的误差度来估计数据的基数。所以HyperLogLog采用了牺牲精度节约内存的思想,能够使用极小的内存空间来...

2018-09-06 09:57:53 880

原创 Redis Bitmaps的使用

Bitmaps是Redis支持的一种数据结构,value是一个长字符串,字符串上每一个字符的值只能是 0 或 1。看起来像是一个二进制的数据结构,其实只是一个字符串,所以严格来说Bitmaps并不是一个新的数据结构,而是一个符合特殊约定的字符串。下面先来看一下Redis中和Bitmaps相关的几个命令:1.常见命令设置值bitset key offset value...

2018-09-06 09:56:51 1020

原创 Redis Lua脚本的使用,自定义命令解决分布式锁的抢占

一、Lua 的介绍Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入到应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 的特性 - 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。 - 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua...

2018-09-04 13:31:37 1784

原创 Redis的事务机制

昨天介绍了Redis Pipeline,Pipeline能帮我们组装命令一次发送给Redis,但是Pipeline中的命令不具有原子性,所以如果我们需要自己组装一个原子性的操作,使用Pipeline是无法实现的,庆幸的是Redis提供了事物和支持Lua脚本来实现原子性操作。今天我们来了解一下Redis事物。很多关系型数据库都支持事物操作,保证在一个事物内的操作是原子性的,要么都执行,要么都...

2018-09-03 10:25:32 6258 2

原创 Redis Pipeline 批处理任务

今天分享一个Redis的小功能,Pipeline(流水线)。Pipeline能够将一组Redis命令组装起来,通过一次请求发给Redis服务端,Redis服务端执行完这些命令之后再将这些命令的结果一次性返回给客户端。Redis执行一条命令分为四个步骤:发送命令命令排队命令执行返回结果其中发送命令和返回结果两步的时间和称之为Rount Trip Time(RTT,往返时间)。假...

2018-09-02 01:22:26 1082

空空如也

空空如也

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

TA关注的人

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