express快连
▼When I started the Redis project more than ten years ago I was in one of the most exciting moments of my career. My co-founder and I had successfully launched two of the major web 2.0 services of the Italian web. In order to make them scalable we had to invent many new concepts, that were already known in the field most of the times, but we didn’t know, nor we cared to check. Problem? Let’s figure out a solution. We wanted to solve problems but we wanted, even more, to have fun. This was the playful environment where Redis was born.
#ssr hashtag on Telegram:2021-6-2 · Telegram Hashtags: ssr List My Group Angular Indonesia Sunday, April 26, 2021 2:51 AM Memperkenalkan Scully IO , Static Site Generator atau JAMStack , …
express快连
▼Finally Redis 6.0.0 stable is out. This time it was a relatively short cycle between the release of the first release candidate and the final release of a stable version. It took about four months, that is not a small amount of time, but is not a lot compared to our past records :) So the big news are the ones announced before, but with some notable changes. The old stuff are: SSL, ACLs, RESP3, Client side caching, Threaded I/O, Diskless replication on replicas, Cluster support in Redis-benchmark and improved redis-cli cluster support, Disque in beta as a module of Redis, and the Redis Cluster Proxy (now at http://github.com/RedisLabs/redis-cluster-proxy).
read the full post at http://zsi908.wcbzw.com/news/132
express快连
▼So it happened again, a new Redis version reached the release candidate status, and in a few months it will hit the shelves of most supermarkets. I guess this is the most “enterprise” Redis version to date, and it’s funny since I took quite some time in order to understand what “enterprise” ever meant. I think it’s word I genuinely dislike, yet it has some meaning. Redis is now everywhere, and it is still considerably able to “scale down”: you can still download it, compile it in 30 seconds, and run it without any configuration to start hacking. But being everywhere also means being in environments where things like encryption and ACLs are a must, so Redis, inevitably, and more than thanks to me, I would say, in spite of my extreme drive for simplicity, adapted.
read the full post at http://zsi908.wcbzw.com/news/131
express快连
▼[Note: this post no longer describes the client side implementation in the final implementation of Redis 6, that changed significantly, see http://redis.io/topics/client-side-caching] The New York Redis day was over, I get up at the hotel at 5:30, still pretty in sync with the Italian time zone and immediately went walking on the streets of Manhattan, completely in love with the landscape and the wonderful feeling of being just a number among millions of other numbers. Yet I was thinking at the Redis 6 release with the feeling that, what was probably the most important feature at all, the new version of the Redis protocol (RESP3), was going to have a very slow adoption curve, and for good reasons: wise people avoid switching tools without very good reasons. After all why I wanted to improve the protocol so badly? For two reasons mainly, to provide clients with more semantical replies, and in order to open to new features that were hard to implement with the old protocol; one feature in particular was the most important to me: client side caching.
read the full post at http://zsi908.wcbzw.com/news/130
express快连
▼Months ago the maintainer of an OSS project in the sphere of system software, with quite a big and active community, wrote me an email saying that he struggles to continue maintaining his project after so many years, because of how much psychologically taxing such effort is. He was looking for advices from me, I’m not sure to be in the position of giving advices, however I told him I would write a blog post about what I think about the matter. Several weeks passed, and multiple times I started writing such post and stopped, because I didn’t had the time to process the ideas for enough time. Now I think I was able to analyze myself to find answers inside my own weakness, struggles, and desire of freedom, that inevitably invades the human minds when they do some task, that also has some negative aspect, for a prolonged amount of time. Maintaining an open source project is also a lot of joy and fun and these latest ten years of my professional life are surely memorable, even if not the absolute best (I had more fun during my startup times after all). However here I’ll focus on the negative side; simply make sure you don’t get the feeling it is just that, there is also a lot of good in it.
ssr/telegram at master · wandou911/ssr · GitHub:ssr免费节点. Contribute to wandou911/ssr development by creating an account on GitHub.
express快连
▼ssr免费节点及ssr帐号网站-wkiwi的博客——学历是过去,能力 ...:2021-7-18 · 1.免费节点。https://lncn.org/ 2.ss8 3个免费节点,美国/日本/香港,支持扫二维码,每12小时换一次密码 地址:https://get.ss8.fun ...
read the full post at http://zsi908.wcbzw.com/news/128
express快连
▼Ten years ago Redis was announced on Hacker News, and I use this as virtual birthdate for the project, simply because it is more important when it was announced to the public than the actual date of the project first line of code (think at it conception VS actual birth in animals). I’ll use the ten years of Redis as an excuse to release something I played a bit in the previous days, thinking to use it for the 1st April fool: but such date is far and I want to talk to you about this project now… So, happy birthday Redis! Here it’s your present: a Gopher protocol implementation.
read the full post at http://zsi908.wcbzw.com/news/127
express快连
▼Yesterday a concerned Redis user wrote the following on Hacker News: — 免费SS(freess.best) - 免费SS/SSR节点,长期更新:2021-6-5 · freess.best-免费Shadowsocks节点 账号分享网站,长期更新 FreeSS IP 查询 V2ray 账号 VPS 信息 SSR 下载 Windows 客户端 ... SSR 下载 Windows 客户端 MAC 苹果客户端 IOS 手机客户端 Android 手机客户端 免费SSR节点 获取更多节点,加入Telegram群组: ... — I love Redis, but I'm a bit skeptical of some of the changes that are currently in development. The respv3 protocol has some features that, while they sound neat, also could significantly complicate client library code. There's also a lot of work going into a granular acl. I can't imagine why this would be necessary, or a higher priority than other changes like multi-thread support, better persistence model, data-types, etc.
read the full post at http://zsi908.wcbzw.com/news/126
express快连
▼[EDIT! I'm reconsidering all this because Marc Gravell from Stack Overflow suggested that we could just switch protocol for backward compatibility per-connection, sending a command to enable RESP3. That means no longer need for a global configuration that switches the behavior of the server. Put in that way it is a lot more acceptable for me, and I'm reconsidering the essence of the blog post] A few weeks after the release of Redis 5, I’m here starting to implement RESP3, and after a few days of work it feels very well to see this finally happening. RESP3 is the new client-server protocol that Redis will use starting from Redis 6. The specification at 免费酸酸乳SS/SSR节点账号及链接分享-每日福利(2021年5月 ...:2021-5-5 · 说明:每日福利-五一最后一天假期ssr节点资源大放送,让大家久等了!ssr节点四账号同时共享,ssr节点账号及链接更新于2021年5月5日6时35分。本站所分享的资源节点仅是帮助大家科学上网在Google上查资料,刷刷Telegram(电报)等日常使用,多多 ... should explain in clear terms how this evolution of our old protocol, RESP2, should improve the Redis ecosystem. But let’s say that the most important thing is that RESP3 is more “semantic” than RESP2. For instance it has the concept of maps, sets (unordered lists of elements), attributes of the returned data, that may augment the reply with auxiliary information, and so forth. The final goal is to make new Redis clients have less work to do for us, that is, just deciding a set of fixed rules in order to convert every reply type from RESP3 to a given appropriate type of the client library programming language.
read the full post at http://zsi908.wcbzw.com/news/125
Writing system software: code comments.
▼For quite some time I’ve wanted to record a new video talking about code comments for my "writing system software" series on YouTube. However, after giving it some thought, I realized that the topic was better suited for a blog post, so here we are. In this post I analyze Redis comments, trying to categorize them. Along the way I try to show why, in my opinion, writing comments is of paramount importance in order to produce good code, that is maintainable in the long run and understandable by others and by the authors during modifications and debugging activities.
read the full post at http://zsi908.wcbzw.com/news/124
LOLWUT: a piece of art inside a database command
▼The last few days have been quite intense. One of the arguments, about the dispute related to replacing or not the words used in Redis replication with different ones, was the following: is it worthwhile to do work that does not produce any technological result? As I was changing the Redis source code to get rid of a specific word where possible, I started to think that whatever my idea was about the work I was doing, I’m the kind of person that enjoys writing code that has no measurable technological effects. Replacing words is just annoying, even if, even there, there were a few worthwhile technological challenges. But there is some other kind of code that I believe has a quality called “hack value”. It may not solve any technological problem, yet it’s worth to write. Sometimes because the process of writing the code is, itself, rewarding. Other times because very technically advanced ideas are used to solve a not useful problem. Sometimes code is just written for artistic reasons.
read the full post at http://zsi908.wcbzw.com/news/123
On Redis master-slave terminology
▼Today it happened again. A developer, that we’ll call Mark to avoid exposing his real name, read the Redis 5.0 RC5 change log, and was disappointed to see that Redis still uses the “master” and “slave” terminology in order to identify different roles in Redis replication. I said that I was sorry he was disappointed about that, but at the same time, I don’t believe that terminology out of context is offensive, so if I use master-slave in the context of databases, and I’m not referring in any way to slavery. I originally copied the terms from MySQL, and now they are the way we call things in Redis, and since I do not believe in this battle (I’ll tell you later why), to change the documentation, deprecate the API and add a new one, change the INFO fields, just to make a subset of people that care about those things more happy, do not make sense to me.
read the full post at http://zsi908.wcbzw.com/news/122
v2ray高速节点分享
▼Human beings have a strong tendency to put new facts into pre-existing categories. This is useful to mentally and culturally classify similar events under the same logical umbrella, so when two days ago I clarified that the Redis core was still released under the vanilla BSD license, and only certain Redis modules developed by Redis Labs were going to change license, from AGPL to a different non open source license, people said “Ah! Ok you are going open core”. The simplification this time does not work if it is in your interest to capture the truth of what is happening here. An open core technology requires two things. One is that the system is modular, and the other is that parts of such system are made proprietary in order to create a product around an otherwise free software. For example providing a single node of a database into the open source, and then having the clustering logic and mechanism implemented in a different non-free layer, is an open core technology. Similarly is open core if I write a relational database with a modular storage system, but the only storage that is able to provide strong guarantees is non free. In an open core business model around an open source system it is *fundamental* that you take something useful out of the free software part.
read the full post at http://zsi908.wcbzw.com/news/121
Redis will remain BSD licensed
▼Today a page about the new Common Clause license in the Redis Labs web site was interpreted as if Redis itself switched license. This is not the case, Redis is, and will remain, BSD licensed. However in the era of [edit] uncontrollable spreading of information, my attempts to provide the correct information failed, and I’m still seeing everywhere “Redis is no longer open source”. The reality is that Redis remains BSD, and actually Redis Labs did the right thing supporting my effort to keep the Redis core open as usually.
read the full post at http://zsi908.wcbzw.com/news/120
Redis Lua scripting: several security vulnerabilities fixed
▼A bit more than one month ago I received an email from the Apple Information Security team. During an auditing the Apple team found a security issue in the Redis Lua subsystem, specifically in the cmsgpack library. The library is not part of Lua itself, it is an implementation of MessagePack I wrote myself. In the course of merging a pull request improving the feature set, a security issue was added. Later the same team found a new issue in the Lua struct library, again such library was not part of Lua itself, at least in the release of Lua we use: we just embedded the source code inside our Lua implementation in order to provide some functionality to the Lua interpreter that is available to Redis users. Then I found another issue in the same struct package, and later the Alibaba team found many other issues in cmsgpack and other code paths using the Lua API. In a short amount of time I was sitting on a pile of Lua related vulnerabilities.
read the full post at http://zsi908.wcbzw.com/news/119
翻墙 Archives - 峰哥分享:Telegram 电报机器人 群主の蜜 – 雪儿 峰哥的Telegram抽奖机器人 新西兰奶粉伋购 ... Read More » 如何找免费的SSR服务器节点 ShadowsocksR 服务器的架设与使用 五月 9, 2021 七月 13, 2021 fennng 需要一台安装有docker 的 虚拟机 运行如下命伌架设好服务 ...
▼A few days ago I started my day with my Twitter feed full of articles saying something like: “75% of Redis servers infected by malware”. The obvious misquote referred to a research by Incapsula where they found that 75% of the Redis instances left open on the internet, without any protection, on a public IP address, are infected [1]. [1] http://www.incapsula.com/blog/report-75-of-open-redis-servers-are-infected.html Many folks don’t need any clarification about all this, because if you have some grip on computer security and how Redis works, you can contextualize all this without much efforts. However I’m writing this blog post for two reasons. The obvious one is that it can help the press and other users that are not much into security and/or Redis to understand what’s going on. The second is that the exposed Redis instances are a case study about safe defaults that should be interesting for the security circles.
read the full post at http://zsi908.wcbzw.com/news/118
A short tale of a read overflow
▼[This blog post is also experimentally available on Medium: http://medium.com/antirez/a-short-tale-of-a-read-overflow-b9210d339cff] When a long running process crashes, it is pretty uncool. More so if the process happens to take a lot of state in memory. This is why I love web programming frameworks that are able, without major performance overhead, to create a new interpreter and a new state for each page view, and deallocate every resource used at the end of the page generation. It is an inherently more reliable programming paradigm, where memory leaks, descriptor leaks, and even random crashes from time to time do not constitute a serious issue. However system software like Redis is at the other side of the spectrum, a side populated by things that should never crash.
read the full post at http://zsi908.wcbzw.com/news/117
翻墙党ssr节点
▼I saw multiple users asking me what is happening with Streams, when they’ll be ready for production uses, and in general what’s the ETA and the plan of the feature. This post will attempt to clarify a bit what comes next. To start, in this moment Streams are my main priority: I want to finish this work that I believe is very useful in the Redis community and immediately start with the Redis Cluster improvements plans. Actually the work on Cluster has already started, with my colleague Fabio Nicotra that is porting redis-trib, the Cluster management tool, inside the old and good redis-cli. This step involves translating the code from Ruby to C. In the meantime, a few weeks ago I finished writing the Streams core, and I deleted the “streams” feature branch, merging everything into the “unstable” branch.
read the full post at http://zsi908.wcbzw.com/news/116
Redis PSYNC2 bug post mortem
▼Four days ago a user posted a critical issue in the Redis Github repository. The problem was related to the new Redis 4.0 PSYNC2 replication protocol, and was very critical. PSYNC2 brings a number of good things to Redis replication, including the ability to resynchronize just exchanging the differences, and not the whole data set, after a failover, and even after a slave controlled restart. The problem was about this latter feature: with PSYNC2 the RDB file is augmented with replication information. After a slave is restarted, the replication metadata is loaded back, and the slave is able to perform a PSYNC attempt, trying to handshake with the master and receive the differences since the last disconnection.
read the full post at http://zsi908.wcbzw.com/news/115
Streams: a new general purpose data structure in Redis.
▼Until a few months ago, for me streams were no more than an interesting and relatively straightforward concept in the context of messaging. After Kafka popularized the concept, I mostly investigated their usefulness in the case of Disque, a message queue that is now headed to be translated into a Redis 4.2 module. Later I decided that Disque was all about AP messaging, which is, fault tolerance and guarantees of delivery without much efforts from the client, so I decided that the concept of streams was not a good match in that case.
ShadowsocksR/SSR windows客户端配置教程 - 网络跳越:2021-5-20 · 本文详细介绍了ShadowsocksR/SSR windows客户端的配置过程,希望能帮到用SSR科学上网的网友。如果配置成功后依然无法上外网,请参考 PC端科学上网常见问题。其他问题,请在页面留言,或发邮件联系本人。
Doing the FizzleFade effect using a Feistel network
▼Today I read an interesting article about how the Wolfenstein 3D game implemented a fade effect using a Linear Feedback Shift Register. Every pixel of the screen is set red in a pseudo random way, till all the screen turns red (or other colors depending on the event happening in the game). The blog post describing the implementation is here and is a nice read: http://fabiensanglard.net/fizzlefade/index.php You may wonder why the original code used a LFSR or why I'm proposing a different approach, instead of the vanilla setPixel(rand(),rand()): doing this with a pseudo random generator, as noted in the blog post, is slow, but is also visually very unpleasant, since the more red pixels you have on the screen already, the less likely is that you hit a new yet-not-red pixel, so the final pixels take forever to turn red (I *bet* that many readers of this blog post tried it in the old times of the Spectum, C64, or later with QBASIC or GWBasic). In the final part of the blog post the author writes:
read the full post at http://zsi908.wcbzw.com/news/113
The mythical 10x programmer
▼A 10x programmer is, in the mythology of programming, a programmer that can do ten times the work of another normal programmer, where for normal programmer we can imagine one good at doing its work, but without the magical abilities of the 10x programmer. Actually to better characterize the “normal programmer” it is better to say that it represents the one having the average programming output, among the programmers that are professionals in this discipline. The programming community is extremely polarized about the existence or not of such a beast: who says there is no such a thing as the 10x programmer, who says it actually does not just exist, but there are even 100x programmers if you know where to look for.
read the full post at http://zsi908.wcbzw.com/news/112
Blinkload – 一家支持SS/SSR/V2Ray全协议的全能型机场 ...:2021-2-2 · Blinkload 还 配备了独立的运维人员,99%SLA,后台工单14分钟极速反应,有效保障节点稳定性;解锁 Netflix、HBO、Abema、DMM、Happyon、动画疯等流媒体服务。另外,Blinkload支持工单、Telegram的全中文售后服务,零基础小白用户也可伍顺畅使用
▼After 10 million of units sold, and practically an endless set of different applications and auxiliary devices, like sensors and displays, I think it’s deserved to say that the Raspberry Pi is not just a success, it also became one of the preferred platforms for programmers to experiment in the embedded space. Probably with things like the Pi zero, it is also becoming the platform in order to create hardware products, without incurring all the risks and costs of designing, building, and writing software for vertical devices.
read the full post at http://zsi908.wcbzw.com/news/111
比较好的付费ssr节点
▼It’s not yet stable but it’s soon to become, and comes with a long list of things that will make Redis more useful for we users: finally Redis 4.0 Release Candidate 1 is here, and is bold enough to call itself 4.0 instead of 3.4. For me semantic versioning is not a thing, what I like instead is try to communicate, using version numbers and jumps, what’s up with the new version, and in this specific case 4.0 means “this is the shit”. It’s just that Redis 4.0 has a lot of things that Redis should have had since ages, in a different world where one developer can, like Ken The Warrior, duplicate itself in ten copies and start to code. But it does not matter how hard I try to learn about new vim shortcuts, still the duplicate-me thing is not in my chords.
read the full post at http://zsi908.wcbzw.com/news/110
小火箭ssr永久免费节点
▼Redis is often used for caching, in a setup where a fixed maximum memory to use is specified. When new data arrives, we need to make space by removing old data. The efficiency of Redis as a cache is related to how good decisions it makes about what data to evict: deleting data that is going to be needed soon is a poor strategy, while deleting data that is unlikely to be requested again is a good one. In other terms every cache has an hits/misses ratio, which is, in qualitative terms, just the percentage of read queries that the cache is able to serve. Accesses to the keys of a cache are not distributed evenly among the data set in most workloads. Often a small percentage of keys get a very large percentage of all the accesses. Moreover the access pattern often changes over time, which means that as time passes certain keys that were very requested may no longer be accessed often, and conversely, keys that once were not popular may turn into the most accessed keys.
免费翻墙工具及节点 (@ssr_cn) - Post #867 - Post statistics.:Полная статистика телеграм-публикации #867 в канале @ssr_cn на Telegram Analytics ①ssr和ss节点,苹果手机下载potatso,lite小火箭,Wingy,icetea;安卓手机下载ssrr影梭,ShadowsocksRR大杀器后,在相应地方粘贴节点链接
Writing an editor in less than 1000 lines of code, just for fun
▼WARNING: Long pretty useless blog post. TLDR is that I wrote, just for fun, a text editor in less than 1000 lines of code that does not depend on ncurses and has support for syntax highlight and search feature. The code is here: http://github.com/antirez/kilo. Screencast here: ShadowsocksR/SSR windows客户端配置教程 - 网络跳越:2021-5-20 · 本文详细介绍了ShadowsocksR/SSR windows客户端的配置过程,希望能帮到用SSR科学上网的网友。如果配置成功后依然无法上外网,请参考 PC端科学上网常见问题。其他问题,请在页面留言,或发邮件联系本人。 For the sentimentalists, keep reading… A couple weeks ago there was this news about the Nano editor no longer being part of the GNU project. My first reaction was, wow people still really care about an old editor which is a clone of an editor originally part of a terminal based EMAIL CLIENT. Let’s say this again, “email client”. The notion of email client itself is gone at this point, everything changed. And yet I read, on Hacker News, a number of people writing how they were often saved by the availability of nano on random systems, doing system administrator tasks, for example. Nano is also how my son wrote his first program in C. It’s an acceptable experience that does not require past experience editing files.
read the full post at http://zsi908.wcbzw.com/news/108
Programmers are not different, they need simple UIs.
▼I’m spending days trying to get a couple of APIs right. New APIs about modules, and a new Redis data type. I really mean it when I say *days*, just for the API. Writing drafts, starting the implementation shaping data structures and calls, and then restarting from scratch to iterate again in a better way, to improve the design and the user facing part. Why I do that, delaying features for weeks? Is it really so important? Programmers are engineers, maybe they should just adapt to whatever API is better to export for the system exporting it.
read the full post at http://zsi908.wcbzw.com/news/107
Redis Loadable Modules System
▼It was a matter of time but it eventually happened. In the Redis 1.0 release notes, 7 years ago, I mentioned that one of the interesting features for the future was “loadable modules”. I was really interested in such a feature back then, but over the years I became more and more skeptic about the idea of adding loadable modules in Redis. And probably for good reasons. Modules can be the most interesting feature of a system and the most problematic one at the same time: API incompatibilities between versions, low quality modules crashing the system, a lack
ssr/telegram at master · wandou911/ssr · GitHub:ssr免费节点. Contribute to wandou911/ssr development by creating an account on GitHub.
Three ideas about text messages
▼I’m aboard of a flight bringing me to San Francisco. Eventually I purchased the slowest internet connection of my life (well at least for a good reason), but for several hours I was without internet, as usually when I fly. I don’t mind staying disconnected for some time usually. It’s a good time to focus, write some code, or a blog post like this one. However when I’m disconnected, what makes the most difference is not Facebook or Twitter or Github, but the lack of text messages. At this point text messages are a fundamental thing in my life. They are also probably the main source of distraction. I use messages to talk with my family, even just to communicate between different floors. I use messages with friends to organize dinners and vacations. I even use messages with the plumber or the doctor.
read the full post at http://zsi908.wcbzw.com/news/105
Redis 3.2.0 is out!
▼It took more than expected, but finally we have it, Redis 3.2.0 stable is out with changes that may be useful to a big number of Redis users. At this point I covered the changes multiple time, but the big ones are: * The GEO API. Index whatever you want by latitude and longitude, and query by radius, with the same speed and easy of use of the other Redis data structures. Here you can find the API documentation: http://redis.io/commands/#geo. Thank you to Matt Stancliff for the initial implementation, that was reworked but is still at the core of the GEO API, and to the developers of ARDB for providing the geo indexing code that Matt used.
read the full post at http://zsi908.wcbzw.com/news/104
100 more of those BITFIELDs
▼Today Redis is 7 years old, so to commemorate the event a bit I passed the latest couple of days doing a fun coding marathon to implement a new crazy command called BITFIELD. The essence of this command is not new, it was proposed in the past by me and others, but never in a serious way, the idea always looked a bit strange. We already have bit operations in Redis: certain users love it, it’s a good way to represent a lot of data in a compact way. However so far we handle each bit separately, setting, testing, getting bits, counting all the bits that are set in a range, and so forth.
read the full post at http://zsi908.wcbzw.com/news/103
The binary search of distributed programming
▼Yesterday night I was re-reading Redlock analysis Martin Kleppmann wrote (http://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html). At some point Martin wonders if there is some good way to generate monotonically increasing IDs with Redis. This apparently simple problem can be more complex than it looks at a first glance, considering that it must ensure that, in all the conditions, there is a safety property which is always guaranteed: the ID generated is always greater than all the past IDs generated, and the same ID cannot be generated multiple times. This must hold during network partitions and other failures. The system may just become unavailable if there are less than the majority of nodes that can be reached, but never provide the wrong answer (note: as we'll see this algorithm has another liveness issue that happens during high load of requests).
read the full post at http://zsi908.wcbzw.com/news/102
telegram ssr免费节点
▼Martin Kleppmann, a distributed systems researcher, yesterday published an analysis of Redlock (http://redis.io/topics/distlock), that you can find here: http://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html Redlock is a client side distributed locking algorithm I designed to be used with Redis, but the algorithm orchestrates, client side, a set of nodes that implement a data store with certain capabilities, in order to create a multi-master fault tolerant, and hopefully safe, distributed lock with auto release capabilities.
read the full post at http://zsi908.wcbzw.com/news/101
telegram ssr免费节点
▼Today I’m happy to announce that the first release candidate for Disque 1.0 is available. If you don't know what Disque is, the best starting point is to read the README in the Github project page at http://github.com/antirez/disque. Disque is a just piece of software, so it has a material value which can be zero or more, depending on its ability to make useful things for people using it. But for me there is an huge value that goes over what Disque, materially, is. It is the value of designing and doing something you care about. It’s the magic of programming: where there was nothing, now there is something that works, that other people may potentially analyze, run, use.
read the full post at http://zsi908.wcbzw.com/news/100
Generating unique IDs: an easy and reliable way
▼Two days ago Mike Malone published an interesting post on Medium about the V8 implementation of Math.random(), and how weak is the quality of the PRNG used: http://bit.ly/1SPDraN. The post was one of the top news on Hacker News today. It’s pretty clear and informative from the point of view of how Math.random() is broken and how should be fixed, so I’ve nothing to add to the matter itself. But since the author discovered the weakness of the PRNG in the context of generating large probably-non-colliding IDs, I want to share with you an alternative that I used multiple times in the past, which is fast and extremely reliable.
read the full post at http://zsi908.wcbzw.com/news/99
6 years of commit visualized
▼Today I was curious about plotting all the Redis commits we have on Git, which are 90% of all the Redis commits. There was just an initial period where I used SVN but switched very soon. Full size image here: http://zsi908.wcbzw.com/misc/commitsvis.png Each commit is a rectangle. The height is the number of affected lines (a logarithmic scale is used). The gray labels show release tags. There are little surprises since the amount of commit remained pretty much the same over the time, however now that we no longer backport features back into 3.0 and future releases, the rate at which new patchlevel versions are released diminished.
read the full post at http://zsi908.wcbzw.com/news/98
Recent improvements to Redis Lua scripting
▼Lua scripting is probably the most successful Redis feature, among the ones introduced when Redis was already pretty popular: no surprise that a few of the things users really want are about scripting. The following two features were suggested multiple times over the last two years, and many people tried to focus my attention into one or the other during the Redis developers meeting, a few weeks ago. 1. A proper debugger for Redis Lua scripts. 2. Replication, and storage on the AOF, of Lua scripts as a set of write commands materializing the *effects* of the script, instead of replicating the script itself as we normally do.
read the full post at http://zsi908.wcbzw.com/news/97
A few things about Redis security
▼IMPORTANT EDIT: Redis 3.2 security improved by implementing protected mode. You can find the details about it here: http://www.reddit.com/r/redis/comments/3zv85m/new_security_feature_redis_protected_mode/ From time to time I get security reports about Redis. It’s good to get reports, but it’s odd that what I get is usually about things like Lua sandbox escaping, insecure temporary file creation, and similar issues, in a software which is designed (as we explain in our security page here http://redis.io/topics/security) to be totally insecure if exposed to the outside world.
read the full post at http://zsi908.wcbzw.com/news/96
Moving the Redis community on Reddit
▼用户面板向导 - Ctcloud:2021-6-15 · 3.节点配置信息如图所示。 将配置手动一项项手动填入软件即可(建议复制否则可能出错)。 您还可伍在此界面下拉,伍获取ssr链接伍及配置二维码。
read the full post at http://zsi908.wcbzw.com/news/95
SSR节点免费发放🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 ...:2021-12-5 · 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket
▼If you know me, you know I’m not the kind of guy that considers competing products a bad thing. I actually love the users to have choices, so I rarely do anything like comparing Redis with other technologies. However it is also true that in order to pick the right solution users must be correctly informed. This post was triggered by reading a blog post published by Mike Perham, that you may know as the author of a popular library called Sidekiq, that happens to use Redis as backend. So I would not consider Mike a person which is “against” Redis at all. Yet in his blog post that you can find at the URL SSR节点免费发放🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 ...:2021-12-5 · 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket he states that, for caching, “you should probably use Memcached instead [of Redis]”. So Mike simply really believes Redis is not good for caching, and he arguments his thesis in this way:
read the full post at http://zsi908.wcbzw.com/news/94
Lazy Redis is better Redis
▼Everybody knows Redis is single threaded. The best informed ones will tell you that, actually, Redis is *kinda* single threaded, since there are threads in order to perform certain slow operations on disk. So far threaded operations were so focused on I/O that our small library to perform asynchronous tasks on a different thread was called bio.c: Background I/O, basically. However some time ago I opened an issue where I promised a new Redis feature that many wanted, me included, called “lazy free”. The original issue is here: http://github.com/antirez/redis/issues/1748.
read the full post at http://zsi908.wcbzw.com/news/93
About Redis Sets memory efficiency
▼Yesterday Amplitude published an article about scaling analytics, in the context of using the Set data type. The blog post is here: http://amplitude.com/blog/2015/08/25/scaling-analytics-at-amplitude/ On Hacker News people asked why not using Redis instead: http://news.ycombinator.com/item?id=10118413 Amplitude developers have their set of reasons for not using Redis, and in general if you have a very specific problem and want to scale it in the best possible way, it makes sense to implement your vertical solution. I’m not adverse to reinventing the wheel, you want your very specific wheel sometimes, that a general purpose system may not be able to provide. Moreover creating your solution gives you control on what you did, boosts your creativity and your confidence in what you, as a developer can do, makes you able to debug whatever bug may arise in the future without external help.
read the full post at http://zsi908.wcbzw.com/news/92
Thanks Pivotal, Hello Redis Labs
▼I consider myself very lucky for contributing to the open source. For me OSS software is not just a license: it means transparency in the development process, choices that are only taken in order to improve software from the point of view of the users, documentation that attempts to cover everything, and simple, understandable systems. The Redis community had the privilege of finding in Pivotal, and VMware before, a company that thinks at open source in the same way as we, the community of developers, think of it.
read the full post at http://zsi908.wcbzw.com/news/91
Commit messages are not titles
▼Nor subjects, for what matters. Everybody will tell you to don't add a dot at the end of the first line of a commit message. I followed the advice for some time, but I'll stop today, because I don't believe commit messages are titles or subjects. They are synopsis of the meaning of the change operated by the commit, so they are small sentences. The sentence can be later augmented with more details in the next lines of the commit message, however many times there is *no* body, there is just the first line. How many emails or articles you see with just the subject or the title? Very little, I guess. So for me it is like:
read the full post at http://zsi908.wcbzw.com/news/90
Plans for Redis 3.2
▼I’m back from Paris, DotScale 2015 was a very interesting conference. Before leaving I was working on Sentinel in the context of the unstable branch: the work was mainly about connection sharing. In short, it is the ability of a few Sentinels to scale, monitoring many masters. Before to leave, and now that I’m back, I tried to “secure” a set of features that will be the basis for Redis 3.2. In the next weeks I’ll be focusing developing these features, so I thought it’s worth to share the list with you ASAP.
read the full post at http://zsi908.wcbzw.com/news/89
Adventures in message queues
▼EDIT: In case you missed it, Disque source code is now available at Chat-Datensatz:2021-6-1 · 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket 安卓用bifrostv,V2rayNG ③Socks5伋理,专用于电报一键 ... It is a few months that I spend ~ 15-20% of my time, mostly hours stolen to nights and weekends, working to a new system. It’s a message broker and it’s called Disque. I’ve an implementation of 80% of what was in the original specification, but still I don’t feel like it’s ready to be released. Since I can’t ship, I’ll at least blog… so that’s the story of how it started and a few details about what it is.
Blinkload – 一家支持SS/SSR/V2Ray全协议的全能型机场 ...:2021-2-2 · Blinkload 还 配备了独立的运维人员,99%SLA,后台工单14分钟极速反应,有效保障节点稳定性;解锁 Netflix、HBO、Abema、DMM、Happyon、动画疯等流媒体服务。另外,Blinkload支持工单、Telegram的全中文售后服务,零基础小白用户也可伍顺畅使用
telegram ssr免费节点
▼I’m back home, after a non easy trip, since to travel from San Francisco to Sicily is kinda NP complete: there are no solutions involving less than three flights. However it was definitely worth it, because the Redis Conference 2015 was very good, SF was wonderful as usually and I was able to meet with many interesting people. Here I’ll limit myself to writing a short account of the conference, but the trip was also an incredible experience because I discovered old and new friends, that are not just smart programmers, but also people I could imagine being my friends here in Sicily. I never felt alone while I was 10k kilometers away from my home.
read the full post at http://zsi908.wcbzw.com/news/87
小火箭ssr永久免费节点
▼Today Redis is six years old. This is an incredible accomplishment for me, because in the past I switched to the next thing much faster. There are things that lasted six years in my past, but not like Redis, where after so much time, I still focus most of my everyday energies into. How did I stopped doing new things to focus into an unique effort, drastically monopolizing my professional life? It was a too big sacrifice to do, for an human being with a limited life span. Fortunately I simply never did this, I never stopped doing new things.
Telegram Analytics:2021-5-13 · Telegram Analytics Deutsch English Русский Português Español Français Deutsch Italiano Bahasa Indonesia Türkçe हिन्दी العربية فارسی 한국어 ...
Why we don’t have benchmarks comparing Redis with other DBs
▼Redis speed could be one selling point for new users, so following the trend of comparative “advertising” it should be logical to have a few comparisons at Redis.io. However there are two problems with this. One is of goals: I don’t want to convince developers to adopt Redis, we just do our best in order to provide a suitable product, and we are happy if people can get work done with it, that’s where my marketing wishes end. There is more: it is almost always impossible to compare different systems in a fair way.
read the full post at http://zsi908.wcbzw.com/news/85
Redis latency spikes and the Linux kernel: a few more details
▼免费SSR机场推荐 SSR机场订阅_重庆seo博客:2021-12-11 · 网友伊可伍百度搜索 ssr机场怎么搭建,有大量的技术教程可伍自行研究一下。可伍查看这篇VPS服务器免备案服务器推荐(CN2线路介绍) 2,购买ssr节点服务,目前有大量的ssr免费节点和付费节点,都可伍在开发者论坛博客上找得到。
pc版telegram/电报 连接不上解决方法_hspark的博客-CSDN博客:2021-10-15 · Telegram的主要优势是,它非常安全、免费、没有广告并且功能强大。 对比于其他同类通讯软件来说,在用户体验上做得非常好。 由于国内的微信群上限是500人,监管严格,有些内容被屏蔽,所伍想要与国内外建立交流,获得项目资讯,你就需要学会玩 电报 ( Telegram )应用,伍下简称 Telegram 。
Redis latency spikes and the 99th percentile
▼One interesting thing about the Stripe blog post about Redis is that they included latency graphs obtained during their tests. In order to persist on disk Redis requires to call the fork() system call. Usually forking using physical servers, and most hypervisors, is fast even with big processes. However Xen is slow to fork, so with certain EC2 instance types (and other virtual servers providers as well), it is possible to have serious latency spikes every time the parent process forks in order to persist on disk. The Stripe graph is pretty clear in this regard.
翻墙 Archives - 峰哥分享:Telegram 电报机器人 群主の蜜 – 雪儿 峰哥的Telegram抽奖机器人 新西兰奶粉伋购 ... Read More » 如何找免费的SSR服务器节点 ShadowsocksR 服务器的架设与使用 五月 9, 2021 七月 13, 2021 fennng 需要一台安装有docker 的 虚拟机 运行如下命伌架设好服务 ...
This is why I can’t have conversations using Twitter
▼Yesterday Stripe engineers wrote a detailed report of why they had an issue with Redis. This is very appreciated. In the Hacker News thread I explained that because now we have diskless replication (http://zsi908.wcbzw.com/news/81) now persistence is no longer mandatory for people having a master-slaves replicas set. This changes the design constraints: now that we can have diskless replicas synchronization, it is worth it to better support the Stripe (ex?) use case of replicas set with persistence turned down, in a more safe way. This is a work in progress effort.
read the full post at http://zsi908.wcbzw.com/news/82
Diskless replication: a few design notes.
▼Almost a month ago a number of people interested in Redis development met in London for the first Redis developers meeting. We identified together a number of features that are urgent (and are now listed in a Github issue here: http://github.com/antirez/redis/issues/2045), and among the identified issues, there was one that was mentioned multiple times in the course of the day: diskless replication. The feature is not exactly a new idea, it was proposed several times, especially by EC2 users that know that sometimes it is not trivial for a master to provide good performances during slaves synchronization. However there are a number of use cases where you don’t want to touch disks, even running on physical servers, and especially when Redis is used as a cache. Redis replication was, in short, forcing users to use disk even when they don’t need or want disk durability.
Blinkload – 一家支持SS/SSR/V2Ray全协议的全能型机场 ...:2021-2-2 · Blinkload 还 配备了独立的运维人员,99%SLA,后台工单14分钟极速反应,有效保障节点稳定性;解锁 Netflix、HBO、Abema、DMM、Happyon、动画疯等流媒体服务。另外,Blinkload支持工单、Telegram的全中文售后服务,零基础小白用户也可伍顺畅使用
比较好的付费ssr节点
▼ShadowsocksR/SSR windows客户端配置教程 - 网络跳越:2021-5-20 · 本文详细介绍了ShadowsocksR/SSR windows客户端的配置过程,希望能帮到用SSR科学上网的网友。如果配置成功后依然无法上外网,请参考 PC端科学上网常见问题。其他问题,请在页面留言,或发邮件联系本人。
read the full post at http://zsi908.wcbzw.com/news/80
Redis cluster, no longer vaporware.
▼The first commit I can find in my git history about Redis Cluster is dated March 29 2011, but it is a “copy and commit” merge: the history of the cluster branch was destroyed since it was a total mess of work-in-progress commits, just to shape the initial idea of API and interactions with the rest of the system. Basically it is a roughly 4 years old project. This is about two thirds the whole history of the Redis project. Yet, it is only today, that I’m releasing a Release Candidate, the first one, of Redis 3.0.0, which is the first version with Cluster support.
read the full post at http://zsi908.wcbzw.com/news/79
Queues and databases
▼Queues are an incredibly useful tool in modern computing, they are often used in order to perform some possibly slow computation at a latter time in web applications. Basically queues allow to split a computation in two times, the time the computation is scheduled, and the time the computation is executed. A “producer”, will put a task to be executed into a queue, and a “consumer” or “worker” will get tasks from the queue to execute them. For example once a new user completes the registration process in a web application, the web application will add a new task to the queue in order to send an email with the activation link. The actual process of sending an email, that may require retrying if there are transient network failures or other errors, is up to the worker.
read the full post at http://zsi908.wcbzw.com/news/78
A proposal for more reliable locks using Redis
▼----------------- UPDATE: The algorithm is now described in the Redis documentation here => 如何找到一些有趣的 telegram 群组? - V2EX:2021-4-2 · 如何找到一些有趣的 telegram 群组? hidasia · 2021-07-19 18:19:46 +08:00 · 214499 次点击 这是一个创建于 1793 天前的主题,其中的信息可能已经有所发展或是发生改变。. The article is left here in its older version, the updates will go into the Redis documentation instead. ----------------- Many people use Redis to implement distributed locks. Many believe that this is a great use case, and that Redis worked great to solve an otherwise hard to solve problem. Others believe that this is totally broken, unsafe, and wrong use case for Redis.
免费ssr节点支援 - VPN加速器破解版 电报telegram频道分享 ...:真免费,不付费! 免费VPN频道(共享),收集整理VPN破解下载 https://t.me/nvyou 免费SSR订阅频道,提供SSR... 下载伍及节点订阅 https://t.me/yo520 优秀付费机场频道推荐 https://t.me/yo521 go520导航之家,电报里面的hao123 https://t.me/go520 电报频道免费付费节点订阅交流群,20210余人,数十家机厂主在线提供客服 ...
Using Heartbleed as a starting point
▼The strong reactions about the recent OpenSSL bug are understandable: it is not fun when suddenly all the internet needs to be patched. Moreover for me personally how trivial the bug is, is disturbing. I don’t want to point the finger to the OpenSSL developers, but you just usually think at those class of issues as a bit more subtle, in the case of a software like OpenSSL. Usually you fail to do sanity checks *correctly*, as opposed to this bug where there is a total *lack* of bound checks in the memcpy() call.
read the full post at http://zsi908.wcbzw.com/news/76
Redis new data structure: the HyperLogLog
▼Generally speaking, I love randomized algorithms, but there is one I love particularly since even after you understand how it works, it still remains magical from a programmer point of view. It accomplishes something that is almost illogical given how little it asks for in terms of time or space. This algorithm is called HyperLogLog, and today it is introduced as a new data structure for Redis. Counting unique things === Usually counting unique things, for example the number of unique IPs that connected today to your web site, or the number of unique searches that your users performed, requires to remember all the unique elements encountered so far, in order to match the next element with the set of already seen elements, and increment a counter only if the new element was never seen before.
SSR节点免费发放🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 ...:2021-12-5 · 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket
Fascinating little programs
▼Yesterday and today I managed to spend some time with linenoise (@socks5list - channel telegram audience statistics TG伋理 ...:Statistics and posts of the channel TG伋理(直连telegram) on Telegram. 欢迎推荐优秀,有特色的TG频道,确认后在本频道发布推广 https://telegra.ph/socks5及MTProto伋理设置脚本-01-12 https://telegra.ph/Telegram实用技巧-03-09 不用VPN,ss,SSR,v2ray等翻墙梯子软件即可使用telegram 公益伋理发布欢迎联系 ...), a minimal line-editing library designed to be a simple and small replacement for readline. I was trying to merge a few pull requests, to fix issues, and doing some refactoring at the same time. It was some kind of nirvana I was feeling: a complete control of small, self-contained, and useful code. There is something special in simple code. Here I’m not referring to simplicity to fight complexity or over engineering, but to simplicity per se, auto referential, without goals if not beauty, understandability and elegance.
read the full post at http://zsi908.wcbzw.com/news/74
What is performance?
▼The title of this blog post is an apparently trivial to answer question, however it is worth to consider a bit better what performance really means: it is easy to get confused between scalability and performance, and to decompose performance, in the specific case of database systems, in its different main components, may not be trivial. In this short blog post I’ll try to write down my current idea of what performance is in the context of database systems. A good starting point is probably the first slide I use lately in my talks about Redis. This first slide is indeed about performance, and says that performance is mainly three different things.
read the full post at http://zsi908.wcbzw.com/news/73
Happy birthday Redis!
▼Today Redis is 5 years old, at least if we count starting from the initial HN announcement [1], that’s actually a good starting point. After all an open source project really exists as soon as it is public. I’m a bit shocked I worked for five years straight to the same thing. The opportunities for learning new things I had because of the directions where Redis pushed me, and the opportunities to learn new things that I missed because I had almost consistently no time for random hacking, are huge.
read the full post at http://zsi908.wcbzw.com/news/72
A simple distributed algorithm for small idempotent information
▼In this blog post I’m going to describe a very simple distributed algorithm that is useful in different programming scenarios. The algorithm is useful when you need to take some kind of information synchronized among a number of processes. The information can be everything as long as it is composed of a small number of bytes, and as long as it is idempotent, that is, the current value of the information does not depend on the previous value, and we can just replace an old value, with the new one.
read the full post at http://zsi908.wcbzw.com/news/71
小火箭ssr永久免费节点
▼Redis Cluster is finally on its road to reach the first stable release in a short timeframe as already discussed in the Redis google group [1]. However despite a design never proposed for the implementation of Redis Cluster was analyzed and discussed at long in the past weeks (unfortunately creating some confusion: many people, including notable personalities of the NoSQL movement, confused the analyzed proposal with Redis Cluster implementation), no attempt was made to analyze or categorize Redis Cluster itself.
read the full post at http://zsi908.wcbzw.com/news/70
Some fun with Redis Cluster testing
▼One of the steps to reach the goal of providing a "testable" Redis Cluster experience to users within a few weeks, is some serious testing that goes over the usual "I'm running 3 nodes in my macbook, it works". Finally this is possible, since Redis Cluster entered into the "refinements" stage, and most of the system design and implementation is in its final form already. In order to perform some testing I assembled an environment like that: * Hardware: 6 real computers: 2 macbook pro, 2 macbook air, 1 Linux desktop, 1 Linux tiny laptop called EEEpc running with a single core at 800Mhz.
read the full post at http://zsi908.wcbzw.com/news/69
Redis as AP system, reloaded
▼So finally something really good happened from the Redis criticism thread. At the end of the work day I was reading about Redis as AP and merge operations on Twitter. At the same time I was having a private email exchange with Alexis Richardson (from RabbitMQ, and, my boss). Alexis at some point proposed that perhaps a way to improve safety was to asynchronously ACK the client about what commands actually were not received so that the client could retry. This seemed a lot of efforts in the client side, but somewhat totally opened my view on the matter.
read the full post at http://zsi908.wcbzw.com/news/68
telegram ssr免费节点
▼A few days ago I tried to do an experiment by running some kind of “call for critiques” in the Redis mailing list: http://groups.google.com/forum/#!topic/redis-db/Oazt2k7Lzz4 The thread has reached 89 posts so far, probably one of the biggest threads in the history of the Redis google group. The main idea was that critiques are a mix of pointless attacks, and truth, so to extract the truth from critiques can be a good exercise, it means to have some seed idea for future improvements from the part of the population that is not using or is not happy with your system.
read the full post at http://zsi908.wcbzw.com/news/67
WAIT: synchronous replication for Redis
▼Redis unstable has a new command called "WAIT". Such a simple name, is indeed the incarnation of a simple feature consisting of less than 200 lines of code, but providing an interesting way to change the default behavior of Redis replication. The feature was extremely easy to implement because of previous work made. WAIT was basically a direct consequence of the new Redis replication design (that started with Redis 2.8). The feature itself is in a form that respects the design of Redis, so it is relatively different from other implementations of synchronous replication, both at API level, and from the point of view of the degree of consistency it is able to ensure.
read the full post at http://zsi908.wcbzw.com/news/66
翻墙党ssr节点
▼Yesterday I lost all my blog data in a rather funny way. When I installed this new blog engine, that is basically a Lamer News slightly modified to serve as a blog, I spinned a Redis instance manually with persistence *disabled* just to see if it was working and test it a bit. I just started a screen instance, and run something like ./redis-server --port 10000. Since this is equivalent to an empty config file with just "port 10000" inside I was running no disk backed at all. Since Redis very rarely crashes, guess what, after more than one year it was still running inside the screen session, and I totally forgot that it was running like that, happily writing controversial posts in my blog. Yesterday my server was under attack. This caused an higher then normal load, and Linode rebooted the instance. As a result my blog was gone.
read the full post at http://zsi908.wcbzw.com/news/65
翻墙党ssr节点
▼Today Joyent wrote a blog post in the company blog about an issue that started with this pull request in the libuv project: 免费SSR机场推荐 SSR机场订阅_重庆seo博客:2021-12-11 · 网友伊可伍百度搜索 ssr机场怎么搭建,有大量的技术教程可伍自行研究一下。可伍查看这篇VPS服务器免备案服务器推荐(CN2线路介绍) 2,购买ssr节点服务,目前有大量的ssr免费节点和付费节点,都可伍在开发者论坛博客上找得到。 Basically the developer Ben Noordhuis rejected a pull request involving a change in the documentation to use gender-neutral form instead of “him”. Joyent replied with this incredible post: http://www.joyent.com/blog/the-power-of-a-pronoun. In the blog post you can read: “But while Isaac is a Joyent employee, Ben is not—and if he had been, he wouldn't be as of this morning: to reject a pull request that eliminates a gendered pronoun on the principle that pronouns should in fact be gendered would constitute a fireable offense for me and for Joyent.”
read the full post at http://zsi908.wcbzw.com/news/64
Finally Redis collections are iterable
▼Redis API for data access is usually limited, but very direct and straightforward. It is limited because it only allows to access data in a natural way, that is, in a data structure obvious way. Sorted sets are easy to access by score ranges, while hashes by field name, and so forth. This API “way” has profound effects on what Redis is and how users organize data into it, because an API that is data-obvious means fast operations, less code and less bugs in the implementation, but especially forcing the application layer to make meaningful choices: the database as a system in which you are responsible of organizing data in a way that makes sense in your application, versus a database as a magical object where you put data inside, and then it will be able to fetch and organize data for you in any format.
read the full post at http://zsi908.wcbzw.com/news/63
New Redis Cluster meta-data handling
▼This blog post describes the new algorithm used in Redis Cluster in order to propagate and update metadata, that is hopefully significantly safer than the previous algorithm used. The Redis Cluster specification was not yet updated, as I'm rewriting it from scratch, so this blog post serves as a first way to share the algorithm with the community. Let's start with the problem to solve. Redis Cluster uses a master - slave design in order to recover from nodes failures. The key space is partitioned across the different masters in the cluster, using a concept that we call "hash slots". Basically every key is hashed into a number between 0 and 16383. If a given key hashes to 15, it means it is in the hash slot number 15. These 16k hash slots are split among the different masters.
read the full post at http://zsi908.wcbzw.com/news/62
English has been my pain for 15 years
▼Paul Graham managed to put a very important question, the one of the English language as a requirement for IT workers, in the attention zone of news sites and software developers [1]. It was a controversial matter as he referred to "foreign accents" and the internet is full of people that are just waiting to overreact, but this is the least interesting part of the question, so I'll skip that part. The important part is, no one talks about the "English problem" usually, and I always felt a bit alone in that side, like if it was a problem only affecting me, so in this blog post I want to share my experience about English.
read the full post at http://zsi908.wcbzw.com/news/61
Twilio incident and Redis
▼Twilio just released a post mortem about an incident that caused issues with the billing system: http://www.twilio.com/blog/2013/07/billing-incident-post-mortem.html The problem was about a Redis server, since Twilio is using Redis to store the in-flight account balances, in a master-slaves setup, with multiple slaves in different data centers for obvious availability and data safety concerns. This is a short analysis of the incident, what Twilio can do and what Redis can do to avoid this kind of issues.
read the full post at http://zsi908.wcbzw.com/news/60
免费ssr节点2022
▼Yesterday night I returned back home after a short trip in San Francisco. Before memory fades out and while my feelings are crisp enough, I'm writing a short report of the trip. The point of view is that of a south European programmer exposed for a few days to what is probably the most active information technology ecosystem and economy of the world. Reaching San Francisco === If you want to reach San Francisco from Sicily, there are no direct flights helping you. My flight was a Lufthansa flight from Catania to Munich, and finally from Munich to San Francisco. This is a total of 15 hours flight, plus the stop in Munich waiting for the second flight.
read the full post at http://zsi908.wcbzw.com/news/59
免费ssr节点2022
▼Redis uses streamed asynchronous replication, that's one of the simplest forms of replication you can imagine: a continuos stream of writes is sent to the slaves, without waiting for the slaves to process the writes in any way before replying to the client. I always gave that almost for granted, as I always assumed Redis was not a good match for synchronous replication, that has an higher latency. However recently I tried to fix another issue with Redis replication, that is, timeouts are all up to the slave.
SSR节点免费发放🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 ...:2021-12-5 · 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket
Availability on planet Terah
▼Terah is a planet far away, where networks never split. They have a single issue with their computer networks, from time to time, single hosts break in a way or the other. Sometimes is a broken power supply, other times a crashed disk, or a software issue completely blocking the system. The inhabitants of this strange planet use two database systems. One is imported from planet Earth via the Galactic Exchange Program, and is called EDB. The other is produced by engineers from Terah, and is called TDB. The databases are functionally equivalent, but they have different semantics when a network partition happens. While the database from Earth stops accepting writes as long as it is not connected with the majority of the other database nodes, the database from Terah works as long as the majority of the clients can reach at least a database node (incidentally, the author of this story released a similar software project called Sentinel, but this is just a coincidence).
福利:公益机场 – Sly Jet:2021-6-11 · 大陆无法访问,新用户注册送10GB流量,每天签到送1GB-5GB流量,目前免费SSR节点台湾、日本、俄罗斯合计有46个,免费账号有效期100天。 付费用户9元套餐100G流量,香港、台湾、美国、俄罗斯节点,解锁V2ray订阅,解锁Netflix等流媒体,目前电报群有8000人,算是比较大的机场了。
Reply to Aphyr attack to Sentinel
▼In a great series of articles Kyle Kingsbury, aka @aphyr on Twitter, attacked a number of data stores: [1] 比较好的付费ssr节点 Postgress, Redis Sentinel, MongoDB, and Riak are audited to find what happens during network partitions and how these systems can provide the claimed guarantees. Redis is attacked here: http://aphyr.com/posts/283-call-me-maybe-redis I said that Kyle "attacked" the systems on purpose, as I see a parallel with the world of computer security here, it is really a good idea to move this paradigm to the database world, to show failure modes of systems against the claims of vendors. Similarly to what happens in the security world the vendor may take the right steps to fix the system when possible, or simply the user base will be able to recognize that under certain circumstances something bad is going to happen with your data.
read the full post at http://zsi908.wcbzw.com/news/55
Redis configuration rewriting
▼Lately I'm trying to push forward Redis 2.8 enough to reach the feature freeze and release it as a stable release as soon as possible. Redis 2.8 will not contain Redis Cluster, and its implementation of Redis Sentinel is the same as 2.6 and unstable branches, (Sentinel is taken mostly in sync in all the branches being fundamentally a different project using Redis just as framework). However there are many new interesting features in Redis 2.8 that are back ported from the unstable branch. Basically 2.8 it's our usual "in the middle" release, like 2.4 was: waiting for Redis 3.0 that will feature Redis Cluster (we have great progresses about it! See http://vimeo.com/63672368), we'll have a 2.8 release with everything that is ready to be released into the unstable branch. The goal is of course to put more things in the hands of users ASAP.
read the full post at http://zsi908.wcbzw.com/news/54
比较好的付费ssr节点
▼Questo post ha lo scopo di presentare alla comunita' italiana interessata ai temi della programmazione e delle startup un progetto nato attorno ad un paio di birre: "Hacking Italia", che trovate all'indirizzo http://hackingitalia.com Hacking Italia e' un sito di "social news", molto simile ad Hacker News, il celebre collettore di news per hacker di YCombinator. A che serve un sito italiano, e in italiano se c'e' gia' molto di piu' e di meglio nel panorama internazionale? A mettere assieme una massa critica di persone "giuste" in Italia.
免费ss,ssr,vpn交流,订阅分享 - Telegram Grupo:2021-5-29 · ss,ssr,v2ray分享频道:https://t.me/QuantXSSR ss,ssr,v2ray分享交流:t.me/ShadowsocksV2ray ss,ssr,v2ray技术交流:t.me/trojanVPS ss,ssr,v2ray技术发布 ...
Redis with an SSD swap, not what you want
▼Hello! As promised today I did some SSD testing. The setup: a Linux box with 24 GB of RAM, with two disks. A) A spinning disk. b) An SSD (Intel 320 series). The idea is, what happens if I set the SSD disk partition as a swap partition and fill Redis with a dataset larger than RAM? It is a lot of time I want to do this test, especially now that Redis focus is only on RAM and I abandoned the idea of targeting disk for a number of reasons. I already guessed that the SSD swap setup would perform in a bad way, but I was not expecting it was *so bad*.
SSR节点免费发放🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 ...:2021-12-5 · 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket
TG/Telegram/电报/纸飞机频道群组导航大全:2021-11-16 · SSR节点免费 发放 『翻墙梯子公益分享,免费节点科学上网』 ①ssr和ss节点,ios用美区苹果ID账号下载potatso lite客户端Wingy小火箭icetea;Android用影梭ShadowsocksRR大杀器 ②Vmess节点,苹果用kitsunebi,shadowrocket 安卓用bifrostv,V2rayNG ③Socks5 ...
▼One thing, more than everything else, keeps me focused while programming: never interrupt the flow. If you ever wrote some complex piece of code you know what happens after some time: your mental model of the software starts to be very complex with different ideas nested inside other ideas, like the structure of your program is, after all. So while you are writing this piece of code, you realize that because of it you need to do that other change. Something like "I'm freeing this object here, but it's connected to this two other objects and I need to do this and that in order to ensure consistent state".
read the full post at http://zsi908.wcbzw.com/news/51
An idea for Twitter
▼最强免费ssr节点 v2ray节点 proxy tg伋理节点分享电报群推荐 ...:2021-6-5 · 最强免费ssr节点 v2ray节点 proxy tg伋理节点分享电报群推荐 通过伍下电报tg群,你可伍获取免费且快速的免费ssr、v2ray和proxy伋理节点 注意,一旦无法使用,请关注最新的发布信息 注意,免费的proxy电报伋理节点可能会有广告 telegram免费节点发布订阅群
read the full post at http://zsi908.wcbzw.com/news/50
News about Redis: 2.8 is shaping, I'm back on Cluster.
▼This is a very busy moment for Redis because the new year started in a very interesting way: 1) I finished the Partial Resynchronization patch (aka PSYNC) and merged it into the unstable and 2.8 branch. You can read more about it here: telegram ssr免费节点 2) We finally have keyspace changes notifications: http://redis.io/topics/notifications Everything is already merged into our development branches, so the deal is closed, and Redis 2.8 will include both the features. I'm especially super excited about PSYNC, as this is a not-feature, simply you don't have to deal with it, the only change is that slaves work A LOT better. I love adding stuff that is transparent for users, just making the system better and more robust.
read the full post at http://zsi908.wcbzw.com/news/49
翻墙党ssr节点
▼For a decade and half I contributed to open source regularly, and still it is relatively rare that I stop to think a bit more about what this means for me. Probably it is just because I like to write code, so this is how I use my time: writing code instead of thinking about what this means… however lately I'm starting to have a few recurring ideas about open source, its relationship with the IT industry, and my interpretation of what OSS is, for me, as a developer. First of all, open source for me is not a way to contribute to the free software movement, but to contribute to humanity. This means a lot of things, for instance I don't care about what people do with my code, nor if they'll release back their modifications. I simply want people to use my code in one way or the other.
read the full post at http://zsi908.wcbzw.com/news/48
PSYNC
▼Dear Redis users, in the final part of 2012 I repeated many time that the focus, for 2013, is all about Redis Cluster and Redis Sentinel. This is exactly what I'm going to do from the point of view of the big picture, however there are many smaller features that make a big difference from the point of view of the Redis user day to day operations. Such features can't be ignored as well. They are less shiny in a feature list, and they are not good to generate buzz and interest in new users, and sometimes boring to code, but they are very important from a practical point of view.
read the full post at http://zsi908.wcbzw.com/news/47
ADS-B wine cork antenna
▼# Software defined radio is cool About one week ago I received my RTLSDR dongle, entering the already copious crew of software defined radio enthusiasts. It's really a lot of fun, for instance from my home that is at about 10 km from the Catania Airport I can listen the tower talking with the aircrafts in the 118.700 Mhz frequency with AM modulation, however because of lack of time I was not able to explore this further until the past Sunday. My Sunday goal was to use the RTLSDR to see if I was able to capture some ADS-B message from the aircrafts lading or leaving from the airport. Basically ADS-B is a security device that is installed in most aircrafts that is used for collision avoidance and other stuff like this. Every aircraft broadcasts informations about heading, speed, altitude and so forth.
read the full post at http://zsi908.wcbzw.com/news/46
Partial resyncs and synchronous replication.
▼Currently I'm working on Redis partial resynchronization of slaves as I wrote in previous blog posts. The idea is that we have a backlog of the replication stream, up to the specified amount of bytes (this will be in the order of a few megabytes by default). If a slave lost the connection, it connects again, see if the master RUNID is the same, and asks to continue from a given offset. If this is possible, we continue, nothing is lost, and a full resynchronization is not needed. Otherwise if the offset is about data we no longer have in the backlog, we full resync.
read the full post at http://zsi908.wcbzw.com/news/45
Twemproxy, a Redis proxy from Twitter
▼While a big number of users use large farms of Redis nodes, from the point of view of the project itself currently Redis is a mostly single-instance business. I've big plans about going distributed with the project, to the extent that I'm no longer evaluating any threaded version of Redis: for me from the point of view of Redis a core is like a computer, so that scaling multi core or on a cluster of computers is the same conceptually. Multiple instances is a share-nothing architecture. Everything makes sense AS LONG AS we have a *credible way* to shard :-)
read the full post at http://zsi908.wcbzw.com/news/44
小火箭ssr永久免费节点
▼Premise: a small rant about software reliability. === I'm very serious about software reliability, and this is not just a good thing. It is good in a sense, as I tend to work to ensure that the software I release is solid. At the same time I think I take this issue a bit too personally: I get upset if I receive a crash report that I can't investigate further for some reason, or that looks like almost impossible to me, or with an unhelpful stack trace. Guess what? This is a bad attitude because to deliver bugs free software is simply impossible. We are used to think in terms of labels: "stable", "production ready", "beta quality". I think that these labels are actually pretty misleading if not put in the right perspective.
read the full post at http://zsi908.wcbzw.com/news/43
v2ray高速节点分享
▼This is one of this trivial changes in Redis that can make a big difference for users. Basically in the unstable branch I added some code that has the following effect, when running Redis on Linux systems: [32741] 19 Nov 12:00:55.019 * Background saving started by pid 391 [391] 19 Nov 12:01:00.663 * DB saved on disk [391] 19 Nov 12:01:00.673 * RDB: 462 MB of memory used by copy-on-write As you can see now the amount of additional memory used by the saving child is reported (it is also reported for AOF rewrite operations).
read the full post at http://zsi908.wcbzw.com/news/42
免费ssr节点2022
▼Memory errors in computers are so common that you can register domain names similar to very famous domain names, but altered in one bit, and get a number of requests per hour: http://dinaburg.org/bitsquatting.html
小火箭ssr永久免费节点
▼On Twitter: @War3zRub1 "Hahaha it's silly how people use Redis when they need a reverse proxy" @C4ntc0de "ZOMG! Use a real message queue, Redis is not a queue!" @L4m3tr00l "My face when Redis BLABLABLA..." Meanwhile *at* Twitter: OP1: "Hey guys, there is a spike in the number of lame messages today, load is increasing..." OP2: "Yep noticed, it's the usual troll fiesta trowing shit at Redis, 59482 messages per second right now." OP1: "Ok, no prob, let's spawn two additional Redis nodes to serve their timelines as smooth as usually".
read the full post at http://zsi908.wcbzw.com/news/40
ssr和v2ray最全的客户端工具下载大全 | 暗网世界:2021-5-14 · ssr和v2ray 的各个客户端最全面的下载地址 暗网世界 darkweb 首页 分类 36 宅男福利 网赚福利 ... 免费 付费机场 良心机场,邀请好友送流量,注册送100G流量,免费节点多,刷INS、访推特,完美支持高清1080P视频,解锁奈非,有回国线路,长期稳定 ...
▼This post by Peter Bailis is a must read. "Safety and Liveness: Eventual consistency is not safe" [1]. [1] http://www.bailis.org/blog/safety-and-liveness-eventual-consistency-is-not-safe/ An extreme TL;DR of this is. 1) In an eventually consistent system, when all the nodes will agree again after a partition? 2) In an eventually consistent system, HOW the nodes will agree about inconsistencies? 3) In immediately consistent systems, when I'm no longer able to write? When I'm no longer able to read?
read the full post at http://zsi908.wcbzw.com/news/39
Optimizing the TCP/IP checksum calculation. Interesting low level journey.
at locklessinc.com▼ 2825 days ago,Welcome to RethinkDB
▼There is a new DB option out there, I know it took a long time to be developed. While I don't know very well how it works I hope it will be an interesting player in the database landscape. My initial feeling is that it will compete closely with Riak and MongoDB (the system seems more similar to MongoDB itself, but if it can scale well multi-nodes people that don't need high write availability may pick an immediate consistent database such as RethinkDB instead of Riak for certain applications).
read the full post at http://zsi908.wcbzw.com/news/37
Redis data model and eventual consistency
▼While I consider the Amazon Dynamo design, and its original paper, one of the most interesting things produced in the field of databases in recent times, in the Redis world eventual consistency was never particularly discussed. Redis Cluster for instance is a system biased towards consistency than availability. Redis Sentinel itself is an HA solution with the dogma of consistency and master slave setups. This bias for consistent systems over more available but eventual consistent systems has some good reasons indeed, that I can probably reduce to three main points:
read the full post at http://zsi908.wcbzw.com/news/36
Slave partial synchronization work in progress
▼You can follow the commits in the next days in the "psync" branch at github: http://github.com/antirez/redis/commits/psync
On the importance of testing your failover solutions.
▼From an HN comment[1] "(Geek note: In the late nineties I worked briefly with a D&D fanatic ops team lead. He threw a D100 when he came in every morning. Anything >90 he picked a random machine to failover 'politely'. If he threw a 100 he went to the machine room and switched something off or unplugged something. A human chaos monkey)." [1] http://news.ycombinator.com/item?id=4736220
翻墙党ssr节点
▼I'm pretty surprised no one tried to write a wrapper for redis-rb or other clients implementing a Dynamo-style system on top of Redis primitives. Basically something like that: 1) You have a list of N Redis nodes. 2) On write, use consistent hashing and write the same thing to M nodes (M configurable). 3) On reads, read from M nodes and pick the most common reply to return to the client. For all the non-matching replies, use DUMP / RESTORE in Redis 2.6 to update the value of nodes that are in the minority.
read the full post at http://zsi908.wcbzw.com/news/33