redis 系列:四、通用操作和特性介绍

Redis 通用操作

Keys的通用操作

  • keys pattern:获取所有与pattern匹配的key,ps:keys *
  • del key1 key2 … 删除指定的key
  • exits key:判断key是否存在
  • rename key newname:重命名
  • expire key seconds:设置过期时间,单位为秒
  • ttl key:获取key所剩的超时时间,-1 没有设置超时,-2 超时不存在
  • type key:获取key的数据类型

服务器的通用操作

  • ping:测试连接是否存活,响应是pong
  • echo:在命令行打印
  • select:选择数据库
  • quit:退出连接
  • dbsize:查看当前数据库中key的数目
  • info:获取服务器的统计信息
  • flushdb:删除当前数据库中所有的key
  • flushall:删除所有数据库中的key

Redis 特性介绍

多数据库

一个Redis实例可以创建多个数据库。客户端连接时,可以指定连接哪个数据库。
一个Redis实例最多可以创建16个数据,下标0到15,客户端默认连接的是0号数据库

  • select 0:连接 0 号数据库
  • move key 1:将当前库的key移到1号库

消息订阅和发布

  • 登陆客户端:redis-cli
    • 消息订阅:subscribe test
    • 批量消息订阅:psubscribe t*,订阅t开头的消息
    • 消息发布:publish test ‘message’

数据库事务

  • 概述

    Redis是单线程的,Redis实际上是采用了线程封闭的观念,把任务封闭在一个线程,自然避免了线程安全问题,不过对于需要依赖多个redis操作的复合操作来说,依然需要锁,而且有可能是分布式锁
    Redis 作为NoSQL数据库,也提供了事务机制
    Redis中,MULTI/EXEC/DISCARD三个命令是实现事务的基石
    MULTI,开启事务,类似于关系型数据的START TRANSACTION
    EXEC,提交事务,类似于关系型数据库的COMMIT
    DISCARD,回滚事务,类似于关系型数据库的ROLLBACK

  • 事务特征

    在Redis中,所有的命令都会被串行化执行,因此在事务执行期间,Redis不会再为其他的客户端请求提供任何服务,从而保证所有命令执行的原子性
    和其他关系型数据相比,在Redis事务中,如果有其中一条命令执行失败了,其后的命令仍然会被执行
    在使用Append-Only模式时,Redis会调用系统函数write将事务中所有写的操作写入磁盘。倘若过程中出现系统奔溃的故障,则会导致事务中的部分数据写入磁盘,部分数据丢失的情况。Redis服务器在启动时会进行相关检测,如果发现此类故障,会立即停止启动给出相应的提示信息。此时,我们可以使用Redis工具包中提供的redis-check-aof工具,帮助我们快速到问题所在,并将部分数据回滚。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值