nosql -- 16




1 2

200x200


概述memcache 和 redis 是目前使用频率最高的两个缓存服务器的选型,各公司也常常在面试中问到二者的区别虽然在实际的使用中,有着用 redis&nbs

#技术帖    #技术分享    #缓存    #redis   

200x200


概述Cassandra 是一套优秀的开源的分布式 NoSQL 数据库系统,采用了 Google 提出的 BigTable 数据模型

#技术帖    #apache    #database    #技术分享   
BGREWRITEAOFBGREWRITEAOF 执行一个 AOF文件 重写操作。重写会创建一个当前 AOF 文件的体积优化版本。即使 BGREWRITEAOF 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 BGREWRITEAOF 成功之前不会被修改。 重写操作只会在没有其他持久化工作在后台执行时被触发,也就是说:如果 Redis 的子进程正在执行快照的保存工作,那么 AOF 重写的操作会被预定(scheduled),等到保存工作完成之后再执行 AOF 重写。在这种情况下, BGREWRITEAOF 的返回值仍然是 OK ,但还会加上一条额外的信息,说明 BGREWRITEAOF 要等到保存操作完成之后才能执行。在 Redis 2.6 或以上的版本,可以使用 INFO 命令查看 BGREWRITEAOF 是否被预定。如果已经有别的 AOF 文件重写在执行,那么 BGREWRITEAOF 返回一个错误,并且这个新的 
#技术帖    #技术分享    #存储    #command   
AUTHAUTH password 通过设置配置文件中 requirepass 项的值(使用命令 CONFIG SET requirepass password ),可以使用密码来保护 Redis 服务器。如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。另一方面,假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。Warning因为 Redis 高性能的特点,在很短时间内尝试猜测非常多个密码是有可能的,因此请确保使用的密码足够复杂和足够长,以免遭受密码猜测攻击。 可用版本:>= 1.0.0 时间复杂度:O(1) 返回值:密码匹配时返回 OK ,否则返回一个错误。 # 设置密码 redis> CONFIG SET requirepass s
#技术帖    #技术分享    #存储    #command   
EVALEVAL script numkeys key [key ...] arg [arg ...] 从 Redis 2.6.0 版本开始,通过内置的 Lua 解释器,可以使用 EVAL 命令对 Lua 脚本进行求值。script 参数是一段 Lua 5.1 脚本程序,它会被运行在 Redis 服务器上下文中,这段脚本不必(也不应该)定义为一个 Lua 函数。numkeys 参数用于指定键名参数的个数。键名参数 key [key ...] 从 EVAL 的第三个参数开始算起,表示在脚本中所用到的那些 Redis 键(key),这些键名参数可以在 Lua 中通过全局变量 KEYS 数组,用 1 为基址的形式访问( KEYS[1] , KEYS[2] ,以此类推)。在命令的最后,那些不是键名参数的附加参数 arg [ar
#技术帖    #技术分享    #存储    #command   
DISCARDDISCARD 取消事务,放弃执行事务块内的所有命令。如果正在使用 WATCH 命令监视某个(或某些) key,那么取消所有监视,等同于执行命令 UNWATCH 。 可用版本:>= 2.0.0 时间复杂度:O(1)。 返回值:总是返回 OK 。 redis> MULTI OK redis> PING QUEUED redis> SET greeting "hello" QUEUED redis> DISCARD OK   EXECEXEC 执行所有事务块内的命令。假如某个(或某些) key 正处于 WATCH 命令的监视之下,且事务块中有和这个(或这些) key 相关的命令,那么 EXEC 命令只在这个(或这些) key 没有被其他命令所改动的情况下执行并生效,否则该事务被打断(abort)。 可用版本:>= 1.2.0 时间复杂度:事务块内所有命令的时间复杂度的总和。 返回值:事务块内所有命令的返回
#技术帖    #技术分享    #存储    #command   
PSUBSCRIBEPSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。 可用版本:>= 2.0.0 时间复杂度:O(N), N 是订阅的模式的数量。 返回值:接收到的信息(请参见下面的代码说明)。 # 订阅 news.* 和 tweet.* 两个模式 # 第 1 - 6 行是执行 psubscribe 之后的反馈信息 # 第 7 - 10 才是接收到的第一条信息 # 第 11 - 14 是第二条 # 以此类推。。。 redis> psubscribe news.* tweet.* Reading messages... (press Ctrl-C
#技术帖    #技术分享    #存储    #command   
PFADDPFADD key element [element ...] 将任意数量的元素添加到指定的 HyperLogLog 里面。作为这个命令的副作用,HyperLogLog 内部可能会被更新,以便反映一个不同的唯一元素估计数量(也即是集合的基数)。如果 HyperLogLog 估计的近似基数(approximated cardinality)在命令执行之后出现了变化,那么命令返回 1 ,否则返回 0 。如果命令执行时给定的键不存在,那么程序将先创建一个空的 HyperLogLog 结构,然后再执行命令。 调用 PFADD 命令时可以只给定键名而不给定元素:如果给定键已经是一个 HyperLogLog ,那么这种调用不会产生任何效果;但如果给定的键不存在,那么命令会创建一个空的 HyperLogLog ,并向客户端返回 1 。要了解更多关于 HyperLogLog 数据结构的介绍知识,请查阅 PFCOUNT 命令的文档。 可用版本:>= 2.8.9&nbs
#技术帖    #技术分享    #存储    #command   
ZADDZADD key score member [[score member] [score member] ...] 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。score 值可以是整数值或双精度浮点数。如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。对有序集的更多介绍请参见 sorted set 。Note在 Redis 2.4 版本以前, ZADD 每次只能添加一个元素。 可用版本:>= 1.2.0 时间复杂度:O(M*log(N)), N 是有序集的
#技术帖    #技术分享    #存储    #command   
SADDSADD key member [member ...] 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。Note在Redis2.4版本以前, SADD 只接受单个 member 值。 可用版本:>= 1.0.0 时间复杂度:O(N), N 是被添加的元素的数量。 返回值:被添加到集合中的新元素的数量,不包括被忽略的元素。 # 添加单个元素 redis> SADD bbs "discuz.net" (integer) 1 # 添加重复元素 redis> SADD bbs "discuz.net" (integer) 0 # 添加多个元素 redis> SADD bbs "tianya.cn" "groups.google.c
#技术帖    #技术分享    #存储    #command   
1 2



京ICP备15018585号