Nosql
文章平均质量分 70
anssummer
只求每天进步一点点.
展开
-
Redis应用场景举例
面对越来越多的高并发场景,限流显示的尤为重要。 限流 当然,限流有许多种实现的方式,Redis具有很强大的功能,我用Redis实践了三种的实现方式,可以较为简单的实现其方式。Redis不仅仅是可以做限流,还可以做数据统计,附近的人等功能,这些可能会后续写到。 第一种:基于Redis的setnx的操作 我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CAS(Compare and swap)的操作的时候,同时给指定的key设置了过期实践(expire...原创 2021-10-08 00:04:00 · 764 阅读 · 0 评论 -
redis新特性研究
Redis Set Setkeyto hold the stringvalue. Ifkeyalready holds a value, it is overwritten, regardless of its type. Any previous time to live associated with the key is discarded on successfulSEToperation. Options TheSETcommand supports a set of op...原创 2021-08-29 18:18:17 · 356 阅读 · 0 评论 -
memcached的长链接模式
Memcached::__construct() ([ string $persistent_id ] ) 默认情况下,Memcached实例在请求结束后会被销毁。但可以在创建时通过persistent_id为每个实例指定唯一的ID, 在请求间共享实例。所有通过相同的persistent_id值创建的实例共享同一个连接。 When using persistent原创 2015-06-22 00:53:13 · 974 阅读 · 0 评论 -
memcached的分布式算法
memcache的分布式 memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。服务器端仅包括内存存储功能,其实现非常简单。至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。 memcache的分布式原理 下面假设memcached服务器有node1~node3三台,如下图,应用程序要保存键名为“原创 2013-09-20 20:46:54 · 1197 阅读 · 0 评论 -
redis 或者memcache session 存储 同步
session可以存放在文件中,可以存放在memcache中,本以为session是不可以存放到redis中了,今天尝试了一下,竟然可以。session存文件是没问题的,存memcache也是没有问题的,这个我测试过,请参考:web集群时利用memcache来同步session。但是redis是部分是走内存,部分是走文件的。我在想redis是怎么对待session的呢,费话不多了,看下文。原创 2014-06-07 00:41:54 · 1740 阅读 · 0 评论 -
MYSQL高可用方案探究(总结)
前言 http://blog.chinaunix.net/uid-20639775-id-3337432.html Lvs+Keepalived+Mysql单点写入主主同步高可用方案 http://blog.chinaunix.net/uid-20639775-id-3337448.html Lvs+Keepalived+Mysql单点写入读负载均衡主主同步高可用方案 http://转载 2013-09-29 00:10:01 · 2113 阅读 · 0 评论 -
redis并发问题
众所周知redis只有一个线程,那么在多并发情况下: 有多个相同的set请求,redis内部的处理流程是怎样的?我只知道命令会等待,这里的等待是所有命令都等待么?比如此时的其他set和任何get都会阻塞么?redis内部是将命令作为一个队列来处理么?或者是其他方式?当第一个set处理完后,其他的相同的set会覆盖掉么,也就是说依然会占用cpu来工作么?希望能具体说说。 面对同一时间高并原创 2015-11-08 23:42:21 · 7776 阅读 · 0 评论 -
redis一些有趣也很有用的功能
redis-cli我们最常用的两个参数就是-h、-p、-a选项,分配用来指定连接的redis-server的host和port。 通过redis-cli –help发现,redis-cli还提供了其他很多的参数和功能。 -x-x选项从标准输入(stdin)读取最后一个参数。 比如从管道中读取输入: echo -en "chen.qun" | redis-cli -x set转载 2015-10-25 12:37:52 · 780 阅读 · 0 评论 -
redis pipeliner以及mysql批量导入redis
redis打包协议说明: 格式说明如下: *4 #表示有4个参数 $4 #表示“参数”有三个字节("HSET"字符串为4个字节) hset #执行的命令 $8 # key有 8个字节 wolys101 #key对应的值 $6 #field对应的长度 passwd #field对应的值 $12 # value的长度 wolysopen111 #value的值 # 一条语原创 2015-10-25 11:31:13 · 1634 阅读 · 1 评论 -
谈谈服务端缓存的几种用法
说起缓存,可能大家最直接想到的就是:“在数据库前面挡一层”。这是缓存最原始的意义,同时也引申出了缓存最普遍的用法。 原始模式 代码示例1(原始模式): 1 2 3 4 5 6 7 8 9 10 11 //从缓存中获取数据[较快的方式] data = getfromcache(id) if data == null then //从数据库中获取数原创 2015-10-10 22:51:30 · 1564 阅读 · 0 评论 -
Redis监控方案
Redis现在在业务中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,却很少的提及,现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取相关信息,然后提取出来显示。 测试环境: redis版本:2.4.17 IP:10.20.111.188 1 redis-faina 一个使用re原创 2014-06-07 17:17:40 · 1020 阅读 · 0 评论 -
基于redis通信协议的客户端RedisServer
redis通信协议 Redis跟据不同的命令进行不同的回复。redis server回复的内容类型通过第一个参数可以判断: 1."+"号开头表示单行字符串的回复 如:+OK 2."-"号开头表示错误的信息回复。 如:-wrong date type 3.":"号开头表示一个整数回复。 如":0\r\n" 4."$"号开头表示一个批量的回复。 如GET mykey原创 2014-06-07 17:24:36 · 729 阅读 · 0 评论 -
mongodb
工作中使用mongodb已经好久了,讽刺的是到了最后快离职的时候才有时间好好研究下源码。 印象:mongodb是一个内存数据库,数据都是放到内存里面的,所以速度上不比redis慢。 想法: mongodb对数据的操作大部分都在内存中。但mongodb并不是单纯的内存数据库。甚至个人认为不属于内存数据库。 相反,redis就是一个不折不扣的内存数据库了,mysql一个不折不扣转载 2016-02-21 23:15:23 · 768 阅读 · 0 评论 -
Leveldb 实现原理
本文转自:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html LevelDb日知录之一:LevelDb 101 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google转载 2016-03-06 01:15:35 · 319 阅读 · 0 评论 -
levelDB
所周知, LevelDB 只是一个 C/C++ 的编程语言库, 所以, PHP, Python 等编程语言无法直接使用 LevelDB, 必须 将 LevelDB 封装成一个网络服务器.SSDB 就是一个 LevelDB 的服务器(LevelDB Server), 以 LevelDB 作为存储引擎, 支持 PHP/Java/Python/C/C++ 等客户端. 下面是一个 PHP 连接 SSDB的例原创 2015-11-30 00:17:36 · 539 阅读 · 0 评论