Giter Site home page Giter Site logo

redis's People

Contributors

huangzworks avatar juanitofatas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redis's Issues

各个文档的标题改动

目前文档的每个标题都是一个单独的命令,而之后会用一个加粗的内容来显示命令的参数。

pexpire

可以考虑直接将标题改为命令参数。

补充 EVAL 命令

补上关于纯函数一节。

以及关于 EVALSHA 行为描述的一节。

关于replication的疑问

想请教一下大神关于redis源码中replication.c文件的feedReplicationBacklog方法。
这个方法中,server.repl_backlog_off到底是什么意思。既然有了server.master_repl_offset表示全局的偏移量,为什么还要有server.repl_backlog_off。而且为什么一定要满足以下公式:
server.repl_backlog_off = server.master_repl_offset - server.repl_backlog_histlen + 1;

Master-slave下一致性问题

看redis的介绍,在m-s下存在一致性的问题,两个问题没有理清,希望能得到一些指导

  1. master-slave下,slave只读,是说client直接访问slave么,意即client既要知道master的地址,也要知道对应client的地址以区分读写操作?
  2. 如果对slave的读操作发生在【client的写操作已经从master返回】与【新数据更新到slave】这个操作之间,有没有什么办法来保证数据的一致性呢?还是按照官网所说,“You may think at it as a relaxed version of the "C" in the CAP theorem, where consistency is not ensured for a given write, but at least the time window for data loss is restricted to a given number of seconds.” 即在经过一个比较确定的时间窗口后,Redis能够保证数据一致性?

谢谢!

更新至 2.8 版本

TODO 列表:

  • 完成 SCAN 及相关命令的翻译。
  • 综合 2.8 以来的所有修改,并写入日志。
  • 检查官方 release note ,看是否有其他新特性没有覆盖到。
  • 创建一个 2.8 分支。
  • 将 Redis Cluster Tutorial 翻译了,一起发布?

补上 EVAL 命令中关于 EVALSHA 的一节

On the other hand defining commands using a special command or via redis.conf would be a problem for a few reasons:

  • Different instances may have different versions of a command implementation.
  • Deployment is hard if there is to make sure all the instances contain a given command, especially in a distributed environment.
  • Reading an application code the full semantic could not be clear since the application would call commands defined server side.

In order to avoid the above three problems and at the same time don't incur in the bandwidth penalty, Redis implements the EVALSHA command.

Redis 集群 master和slave数据同步问题

你好
#23 直接写和读 master ,而不要写 master ,然后读 slave。这种情况的话,如果我使用redis的客户端工具jedis操作,该如何实现呢?
1. 如果我jedis配置连接只配置master主节点,当主节点宕机后,我代码的配置文件之前配置的都是原先3个master的节点, 新晋升的由slave-> master节点,在我不改变代码的情况下,是不是就没有办法操作新的master节点呢?
2. 如果我这边jedis配置将redis的6个节点全部配置的话,在服务器将slave设置为readonly,是否有什么办法解决某些业务场景我需要读和写都操作master节点, 不让它去读slave节点的数据呢,避免出现数据不一致的情况呢?

谢谢

关于info命令latest_fork_usec解释的疑问

Hi,@huangz1990
server目录下,info.html文件中写到latest_fork_usec为最近一次fork()操作耗费的毫秒数。
据我所知,单位应该是微秒数。latest_fork_usec对应代码里面的变量server.stat_fork_time,具体参见如下代码段:
server.stat_fork_time = ustime()-start;

/* Return the UNIX time in microseconds */
long long ustime(void) {
    struct timeval tv;
    long long ust;

    gettimeofday(&tv, NULL);
    ust = ((long long)tv.tv_sec)*1000000;
    ust += tv.tv_usec;
    return ust;
}

3.0 更新计划

4月1日, 官方已经发布了3.0版本, 是否有更新计划?

关于积压空间的创建和写入问题

问题1:server.master_repl_offset为什么要加1, server.repl_backlog_off 为什么是server.master_repl_offset+1????????
void createReplicationBacklog(void) {
redisAssert(server.repl_backlog == NULL);
server.repl_backlog = zmalloc(server.repl_backlog_size);
server.repl_backlog_histlen = 0;
server.repl_backlog_idx = 0;
server.master_repl_offset++;
server.repl_backlog_off = server.master_repl_offset+1;
}

关于ltrim中lrange的说明感觉不正确

文档上是说:

redis> LRANGE alpha 0 -1    # 建立一个 5 元素的列表

这里lrange应该是返回alpha整个list的值吧,是否是5个首先要看alpha的个数。另外,使用建立感觉不太好,这里更多是从原来的list中截取后返回一个新的list的意思。

将命令名改为驼峰写法?

目前的命令名同一为大小,在命令比较长的情况下,并不好读。

比如 SRANDMEMBER 就没有 sRandMember 那么清晰地区分命令的各个组成部分。

是否要修改命令名的写法呢?除了驼峰写法之外,是否有其他更好的写法呢?

RESTORE命令变化

help restore

RESTORE key ttl serialized-value
summary: Create a key using the provided serialized value, previously obtained using DUMP.
since: 2.6.0
group: generic

这是2.8.9上的help,已经没有了REPLACE的option

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.