Redis使用Lua脚本(转载)

1. 简介 Redis中为什么引入Lua脚本? Redis是高性能的key-value内存数据库,在部分场景下,是对关系数据库的良好补充。 Redis提供了非常丰富的指令集,官网上提供了200多个命令。但是某些特定领域,需要扩充若干指令原子性执行时,仅使用原生命令便无法完成。 Redis 为这样的用户场景提供了 lua 脚本支持… 阅读更多 »Redis使用Lua脚本(转载)

发布订阅_kafka和redis的区别(转载)

正常大家都这么问的,但是实际上应该是想问:kafka和redis queue有什么区别? 因为redis是一个基于内存的kv数据库,而kafka是分布式发布订阅消息系统。两者本身不是同样一个层次的东西。 redis中有一个queue的数据类型,用来做发布/订阅系统,这个就可以和kafka进行比较了哈。 1. 存储介质不同 red… 阅读更多 »发布订阅_kafka和redis的区别(转载)

三种分布式锁的实现(转载)

1. 概述 随着互联网技术的不断发展,用户量的不断增加,越来越多的业务场景需要用到分布式系统。 分布式系统有一个著名的理论CAP,指在一个分布式系统中,最多只能同时满足下面三项中的两项: 一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值(等同于所有节点访问同一份最新的数据副本) 可用性(Av… 阅读更多 »三种分布式锁的实现(转载)

Redis分布式锁-golang实现

分布式事务锁通常用在多台机器上运行的程序需要进行状态同步的场景下,例如转账业务、分布式的扫描限速场景等; 如果是一个进程里面的共享资源,比如一个全局变量,也就通过代码内的锁进行上锁操作 目前微服务,分布式计算等盛行,所以一个项目可能会在很多云服务器或容器(docker)上,每个进程都是系统级别的隔离,很多时候资源都是在其他机子上… 阅读更多 »Redis分布式锁-golang实现

Redis集群模式

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis是一款优秀的NoSQLDB,它在2.x版本不支持集群,集群必须通过外部手段集成;但由于集成方法过于复杂,研发测试和运维要求较高。新版本Redis3.x发布后,自带集群功能,降低了分… 阅读更多 »Redis集群模式

Anycast概述

1. 通信方式及IP类型 Anycast与Multicast,Unicast,Broadcast是四种不同的IP通信方式。按照通信方式,也可以将我们熟知的IP地址类型分为如下几种:Unicast IP,Multicast IP,Broadcast IP与Anycast IP。 1.1. Unicast IP 在客户端与媒体服务器… 阅读更多 »Anycast概述

Golang模板解析和渲染

1. 模板渲染 Golang为模板操作提供了丰富的支持,嵌套模板、导入函数、表示变量、迭代数据等都很简单。若需要比CSV数据格式更复杂的电脑关系,模板可能是一个不错的解决方案。模板的另一个 应用是网站的页面渲染。 Golang内置text/template和html/template两个模板库,html/template库为HT… 阅读更多 »Golang模板解析和渲染