NoSQL数据库:Redis(1)

Redis简介

目前的互联网应用广泛使用两种方式来进行数据存储:关系型数据库和NoSQL数据库。

  • 关系型数据库是指采用关系模型来组织数据的数据库,主要用于存储格式化的数据结构,大量传统数据库如MySQL、Oracle、SQLServer等都属于关系型数据库
  • NoSQL数据库泛指非关系型数据库,主要服务于特点背景的专用数据库,对外提供的是特点的API,而非通用的SQL接口,数据访问更加高效

Redis是一个开源的key-value数据库,属于NoSQL数据库,安装键值对的结构对数据进行存储。为了 保证数据访问的效率,数据都是缓存在内存中的,并基于内存操作,故性能较高。作为缓存应用,相比于其类似的Memcached、Ehacahe、OSCache等缓存器,它所支持存储的value类型更多,包括string、list、set、zset、hash,Redis使业务能够高速和原子地访问这些数据结构,并且不需要关心持久存储的问题,从架构上解决了关系型数据库存储的不足,在高并发查询时可以对关系型数据库写入磁盘或把修改操作写入追加的记录文件,并且在此基础上实现了主从(master-slave)同步,数据可以由主服务器同步到任意数量的从服务器上。Redis支持主从,保证了数据服务的高性能和高可用。

Redis常用命令

auth命令

在访问受密码保护的Redis服务时,客户端首先需要进行密码认证,否则无权执行其他Redis命令

语法:

auth password

如果password与配置文件中的密码匹配,则服务器将回复“OK”状态代码并开始接收命令否则将返回错误。

set命令

Redis是以key-value的格式来存储数据的,而set命令即被用来设置key以保存value(string类型)

语法:

set key value [ex seconds|px milliseconds] [nx|xx]

set命令的参数介绍:

  • ex seconds:设置指定的过期时间seconds,seconds是以秒为单位的数字
  • px milliseconds:设置指定的过期时间milliseconds,milliseconds是以毫秒为单位的数字
  • nx:仅在key不存在时设置该key
  • xx:仅在key存在时设置该key

如果set正确执行,则返回字符串“OK”,如果因为用户指定了nx或xx选项但未满足条件而未执行set操作,则返回空回复nil

exists命令

判断指定的key是否存在。从Redis3.0.3开始,可以指定多个key,而不仅是单个key

语法:

exists key1 [key2...]

仅指定一个key时,如果key存在则返回1,不存在则返回0。当指定多个key时,它返回存在的key总数

keys命令

语法:

keys pattern

返回和pattern(模式)匹配的所有key

支持的常用模式如下

  • hello:匹配单个字符,如hello、hallo、hxllo
  • hello:匹配任意字符,如hello、heeeello
  • h[ae]llo:包含一个指定字符,如hello或hallo
  • h[^ae]llo:包含除指定字符外的一个字符,如hbllo、hello等,但不包含hallo和hello
  • h[a-c]llo:匹配指定范围内的一个字符,如hallo、hbllo和hello

如需匹配以上模式中的特色字符,则需使用\转义,如要匹配*字符,应使用\*

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值