Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
别团等shy哥发育
redis
提交
3cb3714e
R
redis
项目概览
别团等shy哥发育
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3cb3714e
编写于
7月 18, 2013
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Redis 2.7.101 (2.8 Release Candidate 1).
上级
a50635bb
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
94 addition
and
1070 deletion
+94
-1070
00-RELEASENOTES
00-RELEASENOTES
+87
-3
Changelog
Changelog
+0
-1032
src/config.c
src/config.c
+3
-31
src/redis.c
src/redis.c
+1
-1
src/replication.c
src/replication.c
+2
-2
src/version.h
src/version.h
+1
-1
未找到文件。
00-RELEASENOTES
浏览文件 @
3cb3714e
Redis 2.
7
release notes
Redis 2.
8
release notes
=======================
This is the unstable version of Redis 2.8, currently work in progress.
** IMPORTANT ** Check the 'Migrating from 2.6 to 2.8' section at the end of
this file for information about what changed between 2.4 and
2.6 and how this may affect your application.
When it will be ready for production, it will be releaed as Redis 2.8.0.
--------------------------------------------------------------------------------
Upgrade urgency levels:
LOW: No need to upgrade unless there are new features you want to use.
MODERATE: Program an upgrade of the server, but it's not urgent.
HIGH: There is a critical bug that may affect a subset of users. Upgrade!
CRITICAL: There is a critical bug affecting MOST USERS. Upgrade ASAP.
--------------------------------------------------------------------------------
--[ Redis 2.8 Release Candidate 1 (2.7.101) ] Release date: 18 Jul 2013
This is the first release candidate of Redis 2.8 (official version is 2.7.101).
The following is a list of improvements in Redis 2.8, compared to Redis 2.6.
* [NEW] Slaves are now able to partially resynchronize with the master, so most
of the times a full resynchornization with the RDB creation in the master
side is not needed when the master-slave link is disconnected for a short
amount of time.
* [NEW] Experimental IPv6 support.4
* [NEW] Slaves explicitly ping masters now, a master is able to detect a timedout
slave independently.
* [NEW] Masters can stop accepting writes if not enough slaves with a given
maxium latency are connected.
* [NEW] Keyspace changes notifications via Pub/Sub.
* [NEW] CONFIG SET maxclients is now available.
* [NEW] Ability to bind multiple IP addresses.
* [NEW] Set process names so that you can recognize, in the "ps" command output,
the listening port of an instance, or if it is a saving child.
* [NEW] Automatic memory check on crash.
* [NEW] CONFIG REWRITE is able to materialize the changes in the configuration
operated using CONFIG SET into the redis.conf file.
* [NEW] More NetBSD friendly code base.
* [NEW] PUBSUB command for Pub/Sub introspection capabilities.
* [NEW] EVALSHA can now be replicated as such, without requiring to be expanded
to a full EVAL for the replication link.
* [NEW] Better Lua scripts error reporting.
* [NEW] SDIFF performances improved.
* [FIX] A number of bugfixes.
Migrating from 2.6 to 2.8
=========================
Redis 2.6 is mostly a strict subset of 2.8. However there are a few things
that you should be aware of:
The following commands changed behavior:
* SORT with ALPHA now sort according to local collation locale if no STORE
option is used.
* ZADD/ZINCRBY are now able to accept a bigger range of values as valid
scores, that is, all the values you may end having as a result of
calling ZINCRBY multiple times.
* Many errors are now prefixed by a more specific error code instead of
the generic -ERR, for example -WRONGTYPE, -NOAUTH, ...
* PUBLISH called inside lua scripts is now correctly propagated to slaves.
The following redis.conf and CONFIG GET / SET parameters changed:
* logfile now uses the empty string in order to log to standard output,
so 'logfile stdout' is now invalid, use 'logfile ""' instead.
The following INFO fields changed format in a non-backward compatible way:
* The list of slaves in INFO is now in field=value format.
Replication:
Redis 2.8 can be used as slave for Redis 2.6, but doing this is only
a good idea for a short amonut of time needed to upgrade your servers.
We suggest to update both master and slaves about at the same time.
--------------------------------------------------------------------------------
Credits: Where not specified the implementation and design is done by
Salvatore Sanfilippo. Thanks to VMware and Pivotal for making all
this possible. Also many thanks to all the other contributors and the amazing
community we have.
See commit messages for more credits.
Cheers,
Salvatore
Changelog
已删除
100644 → 0
浏览文件 @
a50635bb
此差异已折叠。
点击以展开。
src/config.c
浏览文件 @
3cb3714e
...
...
@@ -1102,34 +1102,6 @@ void configGetCommand(redisClient *c) {
* CONFIG REWRITE implementation
*----------------------------------------------------------------------------*/
/* IGNORE:
*
* rename-command
* include
*
* Special handling:
*
* notify-keyspace-events
* client-output-buffer-limit
* save
* appendonly
* appendfsync
* dir
* maxmemory-policy
* loglevel
* unixsocketperm
* slaveof
*
* Type of config directives:
*
* CUSTOM
* VERBATIM
* YESNO
* L
* LL
*
*/
/* We use the following dictionary type to store where a configuration
* option is mentioned in the old configuration file, so it's
* like "maxmemory" -> list of line numbers (first line is zero). */
...
...
@@ -1363,7 +1335,7 @@ void rewriteConfigEnumOption(struct rewriteConfigState *state, char *option, int
char
*
enum_name
,
*
matching_name
=
NULL
;
int
enum_val
,
def_val
,
force
;
sds
line
;
va_start
(
ap
,
value
);
while
(
1
)
{
enum_name
=
va_arg
(
ap
,
char
*
);
...
...
@@ -1375,7 +1347,7 @@ void rewriteConfigEnumOption(struct rewriteConfigState *state, char *option, int
if
(
value
==
enum_val
)
matching_name
=
enum_name
;
}
va_end
(
ap
);
force
=
value
!=
def_val
;
line
=
sdscatprintf
(
sdsempty
(),
"%s %s"
,
option
,
matching_name
);
rewriteConfigRewriteLine
(
state
,
option
,
line
,
force
);
...
...
@@ -1439,7 +1411,7 @@ void rewriteConfigAppendonlyOption(struct rewriteConfigState *state) {
int
force
=
server
.
aof_state
!=
REDIS_AOF_OFF
;
char
*
option
=
"appendonly"
;
sds
line
;
line
=
sdscatprintf
(
sdsempty
(),
"%s %s"
,
option
,
(
server
.
aof_state
==
REDIS_AOF_OFF
)
?
"no"
:
"yes"
);
rewriteConfigRewriteLine
(
state
,
option
,
line
,
force
);
...
...
src/redis.c
浏览文件 @
3cb3714e
...
...
@@ -320,7 +320,7 @@ void redisLogFromHandler(int level, const char *msg) {
if
((
level
&
0xff
)
<
server
.
verbosity
||
(
log_to_stdout
&&
server
.
daemonize
))
return
;
fd
=
log_to_stdout
?
STDOUT_FILENO
:
fd
=
log_to_stdout
?
STDOUT_FILENO
:
open
(
server
.
logfile
,
O_APPEND
|
O_CREAT
|
O_WRONLY
,
0644
);
if
(
fd
==
-
1
)
return
;
ll2string
(
buf
,
sizeof
(
buf
),
getpid
());
...
...
src/replication.c
浏览文件 @
3cb3714e
...
...
@@ -182,7 +182,7 @@ void replicationFeedSlaves(list *slaves, int dictid, robj **argv, int argc) {
}
}
server
.
slaveseldb
=
dictid
;
/* Add the multi bulk reply size to the static buffer, that is, the number
* of arguments of the command to send to every slave. */
b
[
0
]
=
'*'
;
...
...
@@ -498,7 +498,7 @@ void syncCommand(redisClient *c) {
return
;
/* No full resync needed, return. */
}
else
{
char
*
master_runid
=
c
->
argv
[
1
]
->
ptr
;
/* Increment stats for failed PSYNCs, but only if the
* runid is not "?", as this is used by slaves to force a full
* resync on purpose when they are not albe to partially
...
...
src/version.h
浏览文件 @
3cb3714e
#define REDIS_VERSION "2.7.
3
"
#define REDIS_VERSION "2.7.
101
"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录