redis学习--基础2 数据类型 keys
来源:互联网 发布:老干部网络意思是贬义 编辑:程序博客网 时间:2024/06/13 13:37
1.keys
redis本质上是一个key-value的DB,所以我们首先看一下他的key吧。首先key也是字符串类型,所以key中不能有包括边界字符。由于key不是binary safe的字符串,所以像含有空格和换行的key也是不允许的(如"my key" 和“mykey\n")。
关于key的一个格式约定介绍下:object-type:id:field 比如 user:1000:password
还有key的长度最好不要太长,道理很明显占用内存,而且查找时候相对短key也更慢。不过也不推荐过短key,可读性不好。
介绍下key相关的命令
exists key 测试指定key是否存在,返回1表示存在,0不存在
del key1,key2.....keyN 删除给定key,返回删除key的数目
[/u1/yyang/study/redis/redis-2.6.10/src] (127)yyang@dcmvrh12#redis-cliredis 127.0.0.1:6379> set mykey "hello world"OKredis 127.0.0.1:6379> get mykey"hello world"redis 127.0.0.1:6379> exists mykey(integer) 1redis 127.0.0.1:6379> del mykey(integer) 1redis 127.0.0.1:6379> exists mykey(integer) 0redis 127.0.0.1:6379>
keys pattern返回匹配指定模式所有的key
keys * 表示匹配数据库中所有的key
keys h?llo 匹配 hello , hallo 和 hxllo 等。
keys h*llo 匹配 hllo 和 heeeeello 等。
keys h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
特殊符号用 \ 隔开
警告:KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 key ,你最好还是用 Redis 的集合结构(set)来代替。
redis 127.0.0.1:6379> del mykey(integer) 1redis 127.0.0.1:6379> exists mykey(integer) 0redis 127.0.0.1:6379> type mykeynoneredis 127.0.0.1:6379> set mykey "hello"OKredis 127.0.0.1:6379> set myclass "math"OKredis 127.0.0.1:6379> set myface "big"OKredis 127.0.0.1:6379> keys my*1) "myclass"2) "mykey"3) "myface"redis 127.0.0.1:6379> keys my[cf]*1) "myclass"2) "myface"redis 127.0.0.1:6379> keys *1) "myclass"2) "mykey"3) "myface"
randomkey 从当前数据库中随机返回(不删除)一个key,当数据库不为空时,返回一个key。当数据库为孔氏返回nil。
redis 127.0.0.1:6379> randomkey"myclass"redis 127.0.0.1:6379> del mykey(integer) 1redis 127.0.0.1:6379> del myclass(integer) 1redis 127.0.0.1:6379> del myface(integer) 1redis 127.0.0.1:6379> keys *(empty list or set)redis 127.0.0.1:6379> randomkey(nil)redis 127.0.0.1:6379>
redis 127.0.0.1:6379> set mykey "abc"OKredis 127.0.0.1:6379> keys *1) "mykey"redis 127.0.0.1:6379> flushdbOKredis 127.0.0.1:6379> keys *(empty list or set)redis 127.0.0.1:6379>
ttl key 以秒为单位返回给定key的剩余生存时间(TTL,time to live),返回值:当key不存在是返回-2,当key存在但没有设置剩余生存时间时,返回-1,否则以秒为单位返回key的剩余生存时间。注意:在Redis 2.8以前,当key不存在,或者key没有设置剩余生存时间时,命令都返回-1。
redis 127.0.0.1:6379> keys *(empty list or set)redis 127.0.0.1:6379> set mykey "abc"OKredis 127.0.0.1:6379> ttl mykey(integer) -1redis 127.0.0.1:6379> ttl abc(integer) -1dbsize返回当前数据库key的数量
redis 127.0.0.1:6379> dbsize(integer) 1redis 127.0.0.1:6379> set test "hello"OKredis 127.0.0.1:6379> keys *1) "test"2) "mykey"redis 127.0.0.1:6379> dbsize(integer) 2redis 127.0.0.1:6379>
rename oldkey newkey 原子的重命名一个key,如果newkey存在则呗覆盖,返回1表示成功,0表示失败。可能是oldkey不存在或者newkey相同。
renamenx oldkey newkey与rename一样,但是如果newkey存在的话返回失败。即当且仅当newkey不存在时,将oldkey改名为newkey。
redis 127.0.0.1:6379> keys *1) "test"2) "mykey"redis 127.0.0.1:6379> get test"hello"redis 127.0.0.1:6379> rename test grantOKredis 127.0.0.1:6379> get test(nil)redis 127.0.0.1:6379> get grant"hello"redis 127.0.0.1:6379> get mykey"abc"redis 127.0.0.1:6379> renamenx mykey grant(integer) 0redis 127.0.0.1:6379> get mykey"abc"redis 127.0.0.1:6379> keys*(error) ERR unknown command 'keys*'redis 127.0.0.1:6379> keys *1) "grant"2) "mykey"redis 127.0.0.1:6379> renamenx mykey youkey(integer) 1
就先到这吧,命令都是先用现查也没关系。
- redis学习--基础2 数据类型 keys
- redis学习--基础3 数据类型string
- redis学习--基础3 数据类型string
- redis学习--基础4 数据类型List
- redis学习--基础5 数据类型hash
- Redis笔记2:keys命令
- Redis(2.8.3) 命令学习 - Keys
- Redis学习-3.6:Keys通用命令详解
- Redis 学习笔记2-redis数据类型
- Redis学习笔记(2)-Redis数据类型
- 【Redis学习】:Redis数据类型
- redis基础数据类型详解
- Redis基础学习--安装、简介、基本数据类型及相应命令
- edis学习记录02-redis基础数据类型命令
- [Redis学习笔记]-Redis数据类型
- Redis-----2、Redis数据类型
- redis学习(2)连接,数据类型
- Redis数据类型学习
- COM编程小结
- QT MVC模式
- 2D平面中关于矩阵(Matrix)跟图形变换的讲解
- hash_map的使用技巧(转载)
- js 一些错误汇总----点滴
- redis学习--基础2 数据类型 keys
- 风格能否关系才能幸福国内消费那些繁华
- cat命令
- Linux下的环境变量以及其中PATH环境变量小结
- 下划线突然间很讨人喜欢把消费那些非白雪覆盖本息的内部
- C++ PRIMER之3 标准库类型
- VC++复制构造函数使用的三种情况—整理范磊VC++
- 哈工大汇编语言实验一
- 控件细节知识点