一、redis键管理

1 键重命名

rename oldKey newkey //格式
rename oldKey newKey //若oldKey之前存在则被覆盖
set name james ;set name1 mike //数据初始化
renamenx name name1 //重命名失败,只有当name1不存在才能改名

2 返回随机键

randomkey //返回随机键

3 键过期

expire name:03 20 //键name:03 在10秒后过期
ttl name:03 //查看过期按秒到计时,当返回-2说明已删除
pttl name:03 //查看过期按毫秒到时计
set name:05 james //初始化数据
pexpire name:05 20000 //20000毫秒(20S)后过期
expire name:06 -2 //直接过期,和del一样

设置键在某个时间点过期 使用的是时间戳
expireat name:04 1516971599 //设置在2018/01/27 20:59:59过期
时间转时间戳:网址http://tool.chinaz.com/Tools/unixtime.aspx

hset user:01 name james //初始化数据
expire user:01 60 //设置60S后过期
ttl user:01 //查看过期剩余时间
persist user:01 //去掉过期
ttl user:1 //返回-1 可以永久查询不失效

注意:对于字符串重设值后,expire无效,
set name james
expire name 50
ttl name
set name james1 //此时expire取消
ttl name //返回-1, 长期有效

4. 键的迁移

把部分数据迁移到另一台redis服务器

1, move key db  //reids有16个库, 编号为0-15

set name james1;  move name 5 //迁移到第6个库

select 5 ;//数据库切换到第6个库, get name  可以取到james1

这种模式不建议在生产环境使用,在同一个reids里可以玩

2, dump key;

restore key ttl value//实现不同redis实例的键迁移,ttl=0代表没有过期时间

例子:在A服务器上 192.168.1.111

set name james;

dump name; //  得到"\x00\x05james\b\x001\x82;f\"DhJ"

在B服务器上:192.168.1.118

restore name 0 "\x00\x05james\b\x001\x82;f\"DhJ"

get name  //返回james

3,migrate指令迁移到其它实例redis,在1.111服务器上将test移到118

migrate

192.168.1.118

6379

test

0

1000

copy

replace

keys

指令

要迁移的目标IP

端口

迁移键值

目标库

超时时间

迁移后不删除原键

不管目标库是不存在test键都迁移成功

迁移多个键

5. 键的遍历

redis提供了两个命令来遍历所有的键

1,键全量遍历:

mset country china city bj name james  //设置3个字符串键值对

keys  * //返回所有的键, *匹配任意字符多个字符

keys *y //以结尾的键,

keys n*e //以n开头以e结尾,返回name

keys n?me  //  ?问号代表只匹配一个字符  返回name,全局匹配

keys n?m*   //返回name

keys [j,l]*  //返回以j l开头的所有键  keys [j]ames 全量匹配james

考虑到是单线程, 在生产环境不建议使用,如果键多可能会阻塞,如果键少,可以

2,渐进式遍历

mset  a a b b c c d d e e f f g g h h i i j j k k l l m m n n o o p p q q r r s s t t u u v v w w x x y y z z    //初始化26个字母键值对

字符串类型:

scan 0 match n* count 20 //匹配以n开头的键,取20条,第一次scan 0开始

第二次从游标10开始取20个以n开头的键,相当于一页一页的取,当最后返回0时,键被取完

注:渐进式遍历可有效地解决keys命令可能产生的阻塞问题
除scan字符串外:还有以下
SCAN 命令用于迭代当前数据库中的数据库键。
SSCAN 命令用于迭代集合键中的元素。
HSCAN 命令用于迭代哈希键中的键值对。
ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。
用法和scan一样

二、redis数据库管理

select 0 //共16个库, 0 --15, select切换数据库
set name james
select 1
get name //隔离了,取不到,和mysql不同库一样

其中redis3.0以后的版本慢慢弱化了这个功能,如在redis cluster中只允许0数据库
原因:
1,redis单线程,如果用多个库,这些库使用同一个CPU,彼此会有影响
2,多数据库,调试与运维麻烦,若有一个慢查询,会影响其它库查询速度
3,来回切换,容易混乱

flushdb: 只清空当前数据库的键值对 dbsiz 0
flushall: 清空所有库的键值对 (这两个指令慎用!!!!)

Redis系列五:redis键管理和redis数据库管理的更多相关文章

  1. Redis系列(五):Redis的过期键删除策略

    本篇博客是Redis系列的第5篇,主要讲解下Redis的过期键删除策略. 本系列的前4篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数 ...

  2. Redis系列五 - 哨兵、持久化、主从

    问:骚年,都说Redis很快,那你知道这是为什么吗? 答:英俊潇洒的面试官,您好.我们可以先看一下 关系型数据库 和 Redis 本质上的区别. Redis采用的是基于内存的,采用的是单进程单线程模型 ...

  3. redis系列一: windows下安装redis

    一. 下载Redis Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 red ...

  4. Redis系列(五)-Opserver的监控

    阅读目录: 基本介绍 使用配置 部署实例 面板属性 基本介绍 Opserver是Stack Exchange的一个开源监控系统,基于Net.MVC开发,所以Net程序员可以轻松基于它二次开发.它主要监 ...

  5. Redis系列五 Redis持久化

    Redis持久化 一.RDB(Redis DataBase) 1.介绍 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Red ...

  6. Redis系列(五)--主从复制

    单机环境存在的问题: 1.机器故障,直接凉凉 2.容量瓶颈 3.QPS瓶颈 主从复制 对于可拓展平台来说,复制(replication)是必不可少的.replication可以让其他服务器slave拥 ...

  7. Redis系列之(二):Redis主从同步,读写分离

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  8. Redis系列之(二):Redis主从同步,读写分离(转)

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  9. redis系列二: linux下安装redis

    下面介绍在Linux环境下,Redis的安装与配置 一. 安装 1.首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0即可. 2.通过远程管理工 ...

随机推荐

  1. 在VS2010中使用Git管理源代码

    前文我们讲了使用TortoiseGit管理源代码,但是对于使用VS2010的朋友来说,源代码管理起来还是不怎么方便.要是直接在VS2010中能使用Git就好了,下面我们就来看看怎么在VS2010中使用 ...

  2. C#获取电脑型号、系统版本、内存大小、硬盘大小、CPU信息

    摘要 有时需要获取电脑的相关信息.这时可以通过调用windows api的方式,进行获取. 方法 可以通过在powershell中 通过下面的命令进行查询,然后可以通过c#调用获取需要的信息. gwm ...

  3. spring boot aop 报错

    1.控制台报错 Pointcut is not well-formed: expecting 'name pattern' at character position 33 execution(com ...

  4. Elasticsearch Query DSL 整理总结(三)—— Match Phrase Query 和 Match Phrase Prefix Query

    目录 引言 Match Phase Query slop 参数 analyzer 参数 zero terms query Match Phrase 前缀查询 max_expansions 小结 参考文 ...

  5. Bootstrap4响应式布局之栅格系统

    前面说了Bootstrap4的下载和简单使用,现在我们接着往下学习,Bootstrap4的响应式布局主要依靠栅格系统来实现的.面老K先来讲解一下Bootstrap4的栅格系统,让你能够更快的了解Boo ...

  6. JavaScript 数组复制的方法

    1.循环 2.Array.from(arr) 3.let arr2 = [...arr]

  7. 如何选型商业智能和分析平台,Gartner给了这些建议!

    文 | 水手 在2017年1月20日Gartner发布的<China Summary Translation: 'Survey Analysis: Customers Rate Their BI ...

  8. 解决 jQuery validation插件 valid()方法总是返回true的问题

    在表单元素验证方法中加入了 remote 方法,调试一直返回true,后来才知道因为是异步验证,所以才会出现此问题,解决方法就是在 remote 方法中,禁用 异步和缓存,具体代码如下 : ..... ...

  9. python3+unittest+HTMLTestRunner

    参考博客1 参考博客2 python3版HTMLTestRunner.py见博客园‘链接’(已经上传到博客园) import unittest class operatinon_unittest(un ...

  10. windows 服务器远程桌面 你的凭据不工作

    一.问题描述   通过windows 远程桌面连接服务器时,输入正确的用户名和密码,点击连接按钮时,提示“你的凭据不工作”,但是其他个别电脑可以通过远程桌面远程到目标服务器.问题描述如下图所示: 二. ...