Redis-02-笔记
Posted 寻7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis-02-笔记相关的知识,希望对你有一定的参考价值。
Redis-02-笔记
Redis常用指令
在这部分中呢,我们将学习两个知识,第一个是key的常用指令,第二个是数据库的常用指令。和前面我们学数据类型做一下区分,前面你学的那些指令呢,都是针对某一个数据类型操作的,现在学的都是对所有的操作的,来看一下,我们在学习Key的操作的时候,我们先想一下的操作我们应该学哪些东西:
1、key 操作分析
1.1 key 应该设计哪些操作?
key是一个字符串,通过key获取redis中保存的数据
对于key自身状态的相关操作,例如:删除,判定存在,获取类型等
对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等
对于key快速查询操作,例如:按指定策略查询key
1.2 key 基本操作
-
删除指定key
del key
-
获取key是否存在
exists key
-
获取key的类型
type key
-
排序
sort
-
改名
rename key newkey renamenx key newkey 存在则改不存在则不改
1.3 key 扩展操作(时效性控制)
-
为指定key设置有效期
expire key seconds pexpire key milliseconds expireat key timestamp pexpireat key milliseconds-timestamp
-
获取key的有效时间(返回-1表示永久有效 -2表示目前不存在)
ttl key pttl key
-
切换key从时效性转换为永久性
persist key
1.4 key 扩展操作(查询模式)
-
查询key
keys pattern
-
查询模式规则 pattern
*匹配任意数量的任意符号 ? 配合一个任意符号 [] 匹配一个指定符号keys * keys 查询所有 it* keys 查询所有以it开头 *heima 查询所有以heima结尾 keys ??heima 查询所有前面两个字符任意,后面以heima结尾 查询所有以 keys user:? user:开头,最后一个字符任意 keys u[st]er:1 查询所有以u开头,以er:1结尾,中间包含一个字母,s或t
2、数据库指令
2.1 key 的重复问题
在这个地方我们来讲一下数据库的常用指令,在讲这个东西之前,我们先思考一个问题:
假如说你们十个人同时操作redis,会不会出现key名字命名冲突的问题。
一定会,为什么?因为你的key是由程序而定义的。你想写什么写什么,那在使用的过程中大家都在不停的加,早晚有一天他会冲突的。
redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key。
那这个问题我们要不要解决?要!怎么解决呢?我们最好把数据进行一个分类,除了命名规范我们做统一以外,如果还能把它分开,这样是不是冲突的机率就会小一些了,这就是咱们下面要说的解决方案!
2.2 解决方案
redis为每个服务提供有16个数据库,编号从0到15
每个数据库之间的数据相互独立
在对应的数据库中划出一块区域,说他就是几,你就用几那块,同时,其他的这些都可以进行定义,一共是16个,这里边需要注意一点,他们这16个共用redis的内存。没有说谁大谁小,也就是说数字只是代表了一块儿区域,区域具体多大未知。这是数据库的一个分区的一个策略!
2.3 数据库的基本操作
-
切换数据库(默认使用0号数据库)
select index
-
其他操作(查看服务器是否连通)
ping
2.4 数据库扩展操作
-
数据移动
move key db
-
数据总量
dbsize 当前数据库数据量
-
数据清除
flushdb 清除当前库数据 flushall 清除全部数据库数据
以上是关于Redis-02-笔记的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段