Redis常用命令(1)——Key
DEL
格式:DEL key [key ...]
作用:删除一个或多个 key。不存在的 key 会被忽略。
返回值:被删除 key 的数量。
示例:
192.168.1.100:6379> set testkey 1
OK
# 删除成功返回删除key的个数
192.168.1.100:6379> del testkey
(integer) 1
# key不存在返回0
192.168.1.100:6379> del testkey
(integer) 0
EXISTS
格式:EXISTS key
作用:检查 key 是否存在。
返回值:存在返回 1,否则返回 0 。
示例:
192.168.1.100:6379> set testkey 1
OK
192.168.1.100:6379> exists testkey
(integer) 1
192.168.1.100:6379> del testkey
(integer) 1
192.168.1.100:6379> exists testkey
(integer) 0
EXPIRE
格式:EXPIRE key seconds
作用:为给定 key 设置生存时间,单位为秒,当 key 过期时,被自动删除。对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。PEXPIRE命令单位为毫秒。
返回值:设置成功返回 1 。key 不存在或者不能为 key 设置生存时间时,返回 0 。
示例:
192.168.1.100:6379> set testkey 1
OK
192.168.1.100:6379> expire testkey 5
(integer) 1
192.168.1.100:6379> exists testkey
(integer) 1
192.168.1.100:6379> exists testkey
(integer) 0
EXPIREAT
格式:EXPIREAT key timestamp
作用:为 key 设置生存时间,时间为UNIX 时间戳,单位为秒。PEXPIREAT命令单位为毫秒。
返回值:设置成功返回 1 。key 不存在或者不能为 key 设置生存时间时,返回 0 。
示例:
192.168.1.100:6379> set testkey 1
OK
192.168.1.100:6379> expireat testkey 1486456903
(integer) 1
192.168.1.100:6379> exists testkey
(integer) 1
192.168.1.100:6379> exists testkey
(integer) 0
KEYS
格式:KEYS pattern
作用:查找符合pattern格式要求的key列表。pattern可使用如下通配符
? 仅与一个任意字符匹配。
* 与任意字符匹配。
[] 与可选的字符匹配。
\x 对x进行转义。
返回值:符合pattern格式要求的key列表。
示例:
192.168.1.100:6379> set testkey 1
OK
192.168.1.100:6379> keys test*
1) "testkey"
(1.92s)
192.168.1.100:6379> keys test?ey
1) "testkey"
(1.72s)
192.168.1.100:6379> del 'testkey'
(integer) 1
192.168.1.100:6379> keys test*
(empty list or set)
(1.71s)
PERSIST
格式:PERSIST key
作用:移除给定 key 的生存时间。
返回值:成功返回1,失败或key不存在返回0。
示例:
192.168.1.100:6379> persist testkey
(integer) 0
192.168.1.100:6379> set testkey 1
OK
192.168.1.100:6379> expire testkey 15
(integer) 1
192.168.1.100:6379> persist testkey
(integer) 1
192.168.1.100:6379> exists testkey
(integer) 1
SORT
格式:SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]
作用:对列表、集合、有序集合进行排序,返回排序的结果或保存到destination中。默认按数字进行排序。
返回值:排序结果或destination元素的个数。
示例:
# 初始化数据
192.168.1.100:6379> sadd testkey 4
(integer) 1
192.168.1.100:6379> sadd testkey 3
(integer) 1
192.168.1.100:6379> sadd testkey 8
(integer) 1
# 对集合进行排序,默认为升序
192.168.1.100:6379> sort testkey
1) "3"
2) "4"
3) "8"
# 对集合进行降序排序
192.168.1.100:6379> sort testkey DESC
1) "8"
2) "4"
3) "3"
# 使用limit限制范围
192.168.1.100:6379> sort testkey DESC limit 1 1
1) "4"
# 初始化数据
192.168.1.100:6379> set testkey_4 100
OK
192.168.1.100:6379> set testkey_3 50
OK
192.168.1.100:6379> set testkey_8 10
OK
# 使用by指定排序的参考key,用*匹配testkey的值
192.168.1.100:6379> sort testkey by testkey_* DESC
1) "4"
2) "3"
3) "8"
# 使用get返回关联数据
192.168.1.100:6379> sort testkey by testkey_* DESC get testkey_*
1) "100"
2) "50"
3) "10"
# sort默认按照数字进行排序,会转换为双精度数字,对于字符串直接使用sort会报错,添加alpha可要求sort按照字典顺序排序
192.168.1.100:6379> sadd testkey a
(integer) 1
192.168.1.100:6379> sadd testkey b
(integer) 1
192.168.1.100:6379> sadd testkey c
(integer) 1
192.168.1.100:6379> sort testkey
(error) ERR One or more scores can't be converted into double
192.168.1.100:6379> sort testkey alpha
1) "a"
2) "b"
3) "c"
TTL
格式:TTL key
作用:查询设置了生存时间的key的剩余时间,单位为秒。
返回值:正常情况下返回剩余时间,如果key没有设置生存时间返回-1,如果key不存在返回-2。
示例:
192.168.1.100:6379> set testkey 1
OK
192.168.1.100:6379> expire testkey 50
(integer) 1
192.168.1.100:6379> ttl testkey
(integer) 47
192.168.1.100:6379> ttl testkey
(integer) 29
192.168.1.100:6379> ttl testkey
(integer) -2
TYPE
格式:TYPE key
作用:返回key的类型
返回值:key的类型
示例:
# 字符串类型
192.168.1.100:6379> set testkey1 2
OK
192.168.1.100:6379> type testkey1
string
#集合类型
192.168.1.100:6379> sadd testkey2 d
(integer) 1
192.168.1.100:6379> type testkey2
set
#列表类型
192.168.1.100:6379> lpush testkey3 d
(integer) 1
192.168.1.100:6379> type testkey3
list
# 散列类型
192.168.1.100:6379> hset testkey4 t t
(integer) 1
192.168.1.100:6379> type testkey4
hash
# 有序集合类型
192.168.1.100:6379> zadd testkey5 100 d
(integer) 1
192.168.1.100:6379> type testkey5
zset
原文地址:http://caiguoqing.org/post/103
Redis常用命令(1)——Key的更多相关文章
- Redis常用命令(key、string、List)
1.Key 1.keys * 查询所有数据 2.exists key名 判断key名是否存在 3.move key名 数据库号(0-15) 移动数据key名到相应的数据库 4.expire ...
- Redis常用命令
Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Redis常用命令手册:服务器相关命令
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...
- redis redis常用命令及内存分析总结(附RedisClient工具简介
redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- Redis快速起步及Redis常用命令大全
本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...
- redis常用命令及持久化机制
redis 常用命令 查找redis服务文件 find / -name redis-server 查找配置文件 find / -name redis.conf 启动服务时候,要指定配置文件 启动r ...
- No-sql之redis常用命令
转自:http://blog.csdn.net/nicewuranran/article/details/51793760 No-SQL之Redis 介绍 Redis是一种基于内存存储的key-val ...
随机推荐
- 基于gis的系统开发,程序运行出现问题 ArcGIS product not specified.You must first bind to an ArcGIS version prior to using any ArcGIS components.
在之前初始化的时候添加下面的一行代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);还需要添加一个引 ...
- Python-在列表、字典中筛选数据
实际问题有哪些? 过滤掉列表[3,9,-1,10.-2......] 中负数 筛选出字典{'li_ming':90,'xiao_hong':60,'li_kang':95,'bei_men':98} ...
- Oracle 11G RAC11.2.0.4 + Redhat7.3安装手册
安装思路: 1.安装两台redhat7 linux系统 2.网络配置(双网卡,public,vip,private,scan) 3.存储配置(内存配置,ASM共享存储:6块5G共享盘udev,根目录留 ...
- (leetcode每日打卡)秋叶收藏集【动态规划】
LCP 19.秋叶收藏集 题目链接 算法 动态规划 时间复杂度O(n) 1.题目要求最终形成[红.黄.红]三部分,每部分数量可以不相等,问最终调整操作数量最小是多少.这道题一开始考虑暴力去做,枚举两个 ...
- 「面试」拿到B站的意向书
此次B站服务端开发面试之旅可谓惊险,不过通过对大部分面试题套路的掌握,不出意外还是拿下了,下面我们来看看这些骚题是不是常见的不能再常见的了.这些面试题看了就能面上?当然不是,只是通过这些题让自己知道所 ...
- 【Hadoop】伪分布式安装
创建hadoop用户 创建用户命令: sudo useradd -m hadoop -s /bin/bash 创建好后需要更改hadoop用户的密码,命令如下: sudo passwd hadoop ...
- python中random的一些用法
#(1)随机小数 import random print(random.random()) #随机大于0 且小于1 之间的小数 ''' 0.9441832228391154 ''' print(ra ...
- npm包管理器报错-npm ERR! Response timeout while trying to fetch https://registry.npmjs.org/@XXX(over 30000ms)
由于这两天买的新电脑在短期内频频蓝屏.卡机,不得不把自己其他的本本拿出来换上,但是程序员换电脑是真的痛苦,其他不说就说一个配环境 真的折腾哈 我是一名前端菜鸟,现在自己的本本上使用的是npm包管理工具 ...
- 一个Java对象的内存布局
1.对象的创建过程 class loading class linking(verification,preparation,resolution) class initializing 申请对象内存 ...
- git-代码分支管理
1. git代码分支管理 DEV SIT UAT PET PRE PRD PROD常见环境英文缩写含义 英文缩写 英文 中文 DEV development 开发 SIT System Int ...