相关文章
更多最近更新
更多Redis 数据迁移到 SSDB
2019-05-03 22:06|来源: 网路
工具
在 tools
目录中的 redis-import.php
PHP 脚本可以用来将 Redis 服务器上的数据, 拷贝到 SSDB 服务器上.
用法:
php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port
参数:
redis_host: Redis 运行所在的 IP 或者主机名
redis_port: Redis 监听的端口
redis_db: Redis 的 DB 编号
ssdb_host: SSDB 运行所在的 IP 或者主机名
ssdb_port: SSDB 监听的端口
请确保你的 PHP Redis 模块 https://github.com/nicolasff/phpredis 已经安装.
Redis 工具的支持
Tool | Supported |
---|---|
redis-cli | 支持 |
Twemproxy | 支持 |
Sentinel | 不支持 |
SSDB 和 Redis 命令对照表
SSDB 支持 Redis 协议和客户端, 所以你可以使用 Redis 的客户端来连接 SSDB 进行操作.
但是, 如果你想使用 SSDB 的客户端, 你可能需要下面的命令对照表.
Key-Value
Redis | SSDB |
---|---|
get | get |
set | set |
setex | setx(for kv type only) |
del | del |
incr/incrBy | incr |
decr/decrBy | decr |
mget/getMultiple | multi_get |
setMultiple | multi_set |
del(multiple) | multi_del |
keys | keys(for kv type only) |
getset | getset |
setnx | setnx |
exists | exists |
ttl | ttl |
expire | expire |
getbit | getbit |
setbit | setbit |
bitcount | redis_bitcount, countbit |
strlen | strlen |
getrange | getrange |
请非常细心地阅读此处的说明:
对于 Redis,
substr
命令早已经被废弃, 所以你不要使用substr
命令在 Redis 客户端(当然, 你可以这么做, 但你必须不这么做)如果你还想着 Redis, 那么就用
getrange
命令注意这两者的区别:
substr(start, size)
,getrange(start, end)
当 size 是负数时, 如果你不熟悉 PHP 语言, 那么你会觉得有些奇怪
SSDB 的
substr
命令的描述这 这里
Key-Map(Hash)
Redis | SSDB |
---|---|
del(not supported) | hclear |
hget | hget |
hset | hset |
hdel, hmdel | hdel, multi_hdel |
hIncrBy | hincr |
hDecrBy | hdecr |
hKeys | hkeys |
hVals | hscan |
hMGet | multi_hget |
hMSet | multi_hset |
hLen | hsize |
hExists | hexists |
keys | hlist(for hash type only) |
如果你想删除整个 hash, 那么你就必须使用 SSDB 的客户端来执行 hclear
命令, 用 Redis 的客户端是删除不了整个 hash 的.
Key-Zset
Redis | SSDB |
---|---|
del(not supported) | zclear |
zScore | zget |
zAdd | zset |
zRem | zdel |
zRange | zrange |
zRevRange | zrrange |
zRangeByScore | zscan |
zRevRangeByScore | zrscan |
zIncrBy | zincr |
zDecrBy | zdecr |
zCount | zcount |
zSum | zsum |
zAvg | zavg |
zCard | zsize |
zRank | zrank |
zRemRangeByRank | zremrangebyrank |
zRemRangeByScore | zremrangebyscore |
keys | zlist(for zset type only) |
如果你想删除整个 zset, 那么你就必须使用 SSDB 的客户端来执行 zclear
命令, 用 Redis 的客户端是删除不了整个 zset 的.
Key-List(Queue)
Redis | SSDB |
---|---|
del(not supported) | qclear |
llen/lsize | qsize |
lpush | qpush_front |
rpush | qpush_back |
lpop | qpop_front |
rpop | qpop_back |
lrange | qslice |
lindex, lget | qget |
lset | qset |
keys | qlist(for queue/list type only) |
如果你想删除整个 list, 那么你就必须使用 SSDB 的客户端来执行 qclear
命令, 用 Redis 的客户端是删除不了整个 list 的.
相关问答
更多-
清空数据库:打开redis-client.exe,输入命令flushdb redis自带持久化,因此是不会因为掉电而丢失所有内容的。默认情况下,redis每隔一定时间间隔会对数据库做一次内存快照,记录数据库此刻的内容;启动服务器时会自动加载内存快照。 你可以打开edis文件夹里.rdb文件看看。
-
SSDB 和 Redis 的优缺点各位哪些[2023-10-22]
优点:SSDB 对内存的需求小,是个较便宜的方案。 不差钱的话,Redis 在性能、稳定性和社区上都更加优秀 缺点:SSDB 实现很低效,主要是依赖 leveldb 会按 key 来排序的特性 Redis 测试时数据量小,只读写了内存的可能性 -
Redis,SSDB,Memcache和MongoDB的区别[2023-04-29]
额,说一下个人意见:mongodb,一般用来存储比较大的数据,一般都是实时的,缓存成html没多大意义 memacahe 确实是缓存到内存的,但是不是一直在内存中,会通过机制存储到磁盘中,生成一个文档,可是设置隔多少时间存储一次 -
为什么不直接使用leveldb ssdb[2022-04-26]
可以使用一些/etc/security/console.apps/目录下为用户配置的程序. 这个目录中包括允许控制台用户使用/sbin和/usr/sbin中的某些应用程序的配置文件. 这些配置文件和它们所设置的应用程序享有相同名称. 控制台用户可以使用的一组重要应用程序程序包括三个可以用来关闭或重新启动系统的程序: /sbin/halt /sbin/reboot /sbin/poweroff 因为这些都是支持PAM的应用程序,因此需要时都可以调用pam_console.so 模块. -
Redis vs MemoryCache(Redis vs MemoryCache)[2023-12-07]
MemoryCache被嵌入进程中,因此只能用作该进程的普通键值存储。 MemoryCache的单独服务器对应的将被memcached 。 尽管redis是一种可以在其他服务器上托管的数据结构服务器,可以像memcached一样通过网络进行交互,但redis支持一系列复杂的数据类型和操作,以提供逻辑和智能缓存。 MemoryCache is embedded in the process , hence can only be used as a plain key-value store from tha ... -
假设从memcached迁移到redis以进行缓存,你已经做的很简单,我只需要重新启动才能保持简单。 在redis持久性是可选的,所以你可以使用它很像memcached,如果这是你想要的。 您甚至可能会发现使缓存持久化对于在重新启动后避免大量高速缓存未命中是有用的。 有效期也可用 - 该算法与memcached有点不同,但对于大多数用途来说,这不足以满足要求 - 有关详细信息,请参阅http://redis.io/commands/expire 。 Assuming that migrating from ...
-
你在使用Redis的官方形象吗? https://hub.docker.com/_/redis/ 用于redis的Dockefile:3.2.0-alpine发布 它有一个声明的卷: .. VOLUME /data WORKDIR /data .. 卷在文档中描述。 简而言之,作者正在做的是配置Redis以将数据存储在将由docker引擎维护的外部磁盘卷上。 这不仅更高效,还允许用户使用它将数据与容器分开。 练习图像的快照将不包含任何数据(如果您考虑它,这是一件好事)。 一旦理解了这些概念,就可以更清楚地 ...
-
我建议你看看redis-rdb-tools从Redis中提取数据。 此包可以将Redis数据库的内容转储为JSON文件。 然后,您可以使用Amazon提供的任何加载程序工具来提供其数据库(或编写您自己的数据库)。 例如,AWS命令行界面支持使用JSON提供DynamoDB: http ://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.CLI.html http://docs.aws.amazon.com/cli /latest ...
-
好吧,经过一天的黑客攻击后,下面是我想到的: class MoveActiveRecordSesionsIntoRedis < ActiveRecord::Migration def up #get all the sessions from the last month old_sessions = ActiveRecord::Base.connection.select_all("select * from sessions where updated_at > '#{Time.no ...
-
为什么Windows系统不适用于Key / Value DB(生产模式)(Why Windows systems are not suitable(production mode) for Key/Value DB)[2021-12-14]
因为它们通常是在Linux / OSX上开发,优化,测试和主要使用的。 然而, Windows版本的Redis是一个高质量的端口,它只是通过所有ServiceStack.Redis测试套件的官方发行版的一个小版本点,因此如果您只能访问Windows服务器,那么它是Linux版本的合适替代品。 Because they're typically developed, optimized, tested and primarily used on Linux/OSX. However the Windows v ...