Redis通用命令

  Redis五种数据类型,String,hash,list,set,有序set。

  • keys pattren:获取所有与pattern匹配的key,返回所有与该key匹配的keys。*表示任意一个或多个字符,?表示任意一个字符。
  • keys *:查询所有的key。?通配符,表示一个任意字符。*表示0个或多个任意字符。 
  • del key1、key2...
  • exists key :判断该key是否存在,1代表存在,0代表不存在;
  • rename key newkey:为key重命名;
  • expire key:设置key的生存时间,默认是永久,单位为秒; 
  • ttl key:查看剩余生存时间,返回-2为不存在,-1为永久

 

  消息订阅与发布

  • subscribe:订阅频道
  • psubscribe:批量订阅频道  

 

  多数据库

  • redis也是有数据库的,但是已经提前创建好了。默认有16个数据库,名字为从0~15。
  • select 数据库名:切换数据库  
  • 数据库与数据库之间,键值对不能共享
  • move newkey 1:将当前库的key移植到1号库中
  • flushdb:清空当前数据库
  • flushall:清空所有数据库

  redis事务

  为了进行批量化操作,与MySQL的事务不同。

  • multi:开启事务
  • exec:提交事务
  • discard:回滚事务  

  了解命令 

  • dbsize:返回当前数据库中key的数目
  •  info:查看redis数据  

  持久化

  • 任何增删改语句,都是在硬盘上的操作。  

  而redis所有的增删改,数据都是在内存中进行操作。断电以后,内存中的数据不存在。部分的数据会丢失。

  RDB:是redis默认持久化机制。相当于照快照,占用硬盘空间小。适用于灾难备份。

      缺点:小内存机器不适合使用。容易造成内存内存不足直接死机。丢失数据。

      何时进行照快照:

  • 服务器正常关闭时,会照一次快照
  • key满足一定条件,会照一次快照          

        在redis.conf中已经设置了三种照快照的触发方式。

  AOF:使用日志功能保存数据操作

    默认AOF机制是关闭的(appendonly no)

    每秒同步(everysec)

    每修改同步(always):只要有key的变化语句,就执行AOF


    AOF操作只会保存导致key变化的语句

    缺点:日志文件会非常大

       恢复比较慢,备份也慢

    优点:适用于内存小的机器

  所以,实际开发中都会使用默认的RDB机制。