Redis的基本介绍

152 阅读4分钟

什么是Redis?

Redis开源,遵循BSD、基于内存数据存储常常被用于作为数据库 缓存 消息中间件。redis数据存放在内存中,读写快,断点立即消失,机制:持久化机制 内存数据 定期写入磁盘 总结:redis是一个内存型的数据库,可用来做缓存 消息中间件等

Redis的特点

  • Redis是一个高性能key/value内存型数据库
  • Redis支持丰富的数据类型(String list set zset hash)
  • Redis支持持久化
  • Redis单线程保证了线程安全问题

Redis数据库的相关指令

数据库操作指令

redis的默认配置来启动reids服务后,默认有16个库编号从0-15 可以使用 select 库编号 来选择一个redis的库 库与库之间的数据是相互隔离的

清空当前的库 FLUSHDB

清空全部的库 FLUSHALL

redis客户端显示中文 ./redis-cli -p 7000 --raw

1.redis内存行数据库细节.png

2.开启redis远程客户端连接.png

操作key相关指令

1.DEL指令
语法:DEL key [key ....]
作用:删除一个或多个key,不存在的key 会被忽略
可用版本: >= 1.0.0
返回值:被删除key的数量

2.EXISTS指令
语法:EXISTS key
作用: 检查给定的key是否存在
可用版本:>= 1.0.0
返回值: 若key存在,返回1,否则返回0

3.EXPIRE
语法:EXPIRE key seconds
作用:为给定key 设置生存时间 当key过期(生存时间为0)他会被自动删除
可用版本:>= 1.0.0
时间复杂度:O(1)
返回值:设置成功返回1

4.KEYS
语法:KEYS pattern
作用:查找所有符合给定模式pattern的key
语法:
    keys * 匹配数据库中所有的key
    keys h?llo 匹配hello hallo hxllo等
    keys h*llo 匹配hllo和heeeeeeeeeello等
    heys h[ae]llo 匹配hello 和 hallo 但是不匹配hillo。特殊符号用"\"隔开
 可用版本: >= 1.0.0
 返回值:符合给定模式的key列表
 
 5.MOVE
 语法:move key db
 作用:将当前数据库的key移动到给定的数据库db当中
 可用版本:>= 1.0.0
 返回值:移动成功返回1 失败返回0
 
 6.PEXPIRE
 语法:PEXPIRE key milliseconds
 作用:这个命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置key的生存时间,而不像EXPIRE命令那样,以秒为单位。
 可用版本:>= 2.6.0
 时间复杂度: O(1)
 返回值:设置成功返回1key不存在或者设置失败返回0
 
 7.PEXPIREAT
 语法:PEXPIREAT key milliseconds-timestamp
 作用:这个命令和EXPIREAT命令类似,但它以毫秒为单位设置key的过期unix时间戳,而不像EXPIREAT那样以秒为单位。
 可用版本:>=2.6.0
 返回值:设置成功返回1key不存在或者设置失败返回0
 
 8.TTL
 语法:TTL key
 作用:以秒为单位,返回给定key的剩余生存时间
 可用版本:>= 1.0.0
 返回值:当key不存在 返回-2key存在但没有设置剩余生存时间返回 -1,否则以秒为单位,返回key的剩余生存时间 
 注意:在Redis2.8以前,当key不存在,或者key没有设置剩余生存时间时,命令都返回-1.
 
 9.PTTL
 语法 :  PTTL key
 作用 :  这个命令类似于TTL 命令,但它以毫秒为单位返回key  的剩余生存时间,而不是像TTL 命令那样,以秒为单位。
 可用版本: >= 2.6.0
 返回值: 当key 不存在时,返回-2 。当key 存在但没有设置剩余生存时间时,返回-1 。否则,以毫秒为单位,返回key 的剩余生存时间。
 注意 : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-110.RANDOMKEY
 语法:RANDOMKEY
 作用:从当前数据库中随机返回(不删除)key
 可用版本:>= 1.0.0
 返回值: 当数据库不为空时,返回一个key,当数据库为空时返回nil。
 
 11.RENAME
 语法: rename key newkey
 作用: 将key改名为newkey,当key 和newkey 相同,或者key 不存在时,返回一个错误。当newkey 已经存在时,RENAME 命令将覆盖旧值。
 可用版本: >= 1.0.0
 返回值: 改名成功时提示OK 失败时候返回一个错误
 
 12.TYPE
 语法: TYPE KEY
 作用: 返回key所存储的值的类型
 可用版本:>= 1.0.0
 返回值: 
     none(key 不存在)
     string(字符串)
     list(列表)
     set(集合)
     zset(有序集合)
     hash(哈希表)