一文带你掌握Redis操作指南

摘要:Redis是一种支持Key-Value等多种数据结构的存储系统。

Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。

Redis有三个主要特点,使它优越于其它键值数据存储系统:Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化;与其它键值数据存储相比,Redis有一组相对丰富的数据类型;Redis可以将数据复制到任意数量的从机中。

Redis一共支持五种数据类:string(字符串),hash(哈希),list(列表),set(集合)和zset(sorted set有序集合)。这些数据类型支持push/pop,add/remove及取交集,并集和差集及更丰富的操作,而且这些操作都是原子性的。

Redis是一个开源的使用C语言编写(3万多行代码),支持网络,可基于内存亦可持久化的日志型,Key-Value数据库,并提供多种语言的API。Redis软件的出现,再一定程度上弥补了memcached这类key-value内存缓存服务的不足,在部分场合可以对关系数据库起到很好的补充作用。Redis提供了Python,Ruby,Erlang,PHP客户端。接下来,为大家带来关于Redis相关的操作指南。

一.启动关闭

  • 加载配置文件启动
    Redis-server Redis.conf
  • 关闭Redis,Redis服务器将断开与客户端链接,产生持久化文件,平滑关闭,kill pid号方式等同
    不要使用kill -9强制杀死。这样不会做持久化,还会造成缓冲区等资源不能被优雅关闭,极端情况会造成AOF和复制丢失数据
    Redis-cli shutdown
  • 链接Redis服务器 -h地址 -p端口 -c表示去链接一个集群
    Redis-cli -h 127.0.0.1 -p 7000
  • 链接Redis服务器,非交互操作。在最后面添加命令即可get name
    Redis-cli get name
  • 显示大个的键值
    Redis-cli --bigkeys
  • 查看统计信息
    Redis-cli --stat

二.基本操作

  • 查询显示所有key。只有效的数据,过期的不算。如果数据量非常大,不要用这个命令,会导致内存卡死。
    keys *
  • 查询所有key的数量,未销毁的。(过期的也算)
    dbsize
  • 查看链接的客户端有哪些
    client list
  • 杀掉客户端链接
    client kill 127.0.0.1:52343
  • 查看
    1.当前客户端连接数
    2.当前所有输出缓冲区中队列对象个数的最大值
    3.当前所有输入缓冲区中占用的最大容量
    4.正在执行阻塞命令(例如blpop、 brpop、brpoplpush) 的客户端个数。
    info clients
  • 查看各种详细信息
    info
  • 查询存储文件目录
    CONFIG GET dir
  • 检查键是否存在。存在1,不存在0
    exists key
  • 删除键,可以同时删除多个键
    del key
  • 对键值设置过期时间。单位秒,1成功,0不成功
    expire key 10
  • 查看key剩余过期时间。返回-2键不存在,-1没设置,大于0是剩余时间
    ttl key
  • 查看键数据结构类型。返回none是键不存在
    type key
  • 检查内部编码格式
    object encoding key
  • 重命名key,如果newkey已经存在,那值会被覆盖
    rename key newkey
  • 重命名key,如果newkey已经存在,那会操作失败,返回0,不做任何操作
    renamenx key newkey
  • 如果有1000个 key:value ,将会随机返回一个键
    randomkey

日前,华为云数据库发布GaussDB(for Redis)正式商用,GaussDB(for Redis) 是一款基于华为自研的计算存储分离架构,兼容Redis生态的云原生NoSQL数据库,基于共享存储池的多副本强一致机制,保证数据的安全可靠。GaussDB(for Redis)可广泛适用于游戏、互联网、电商等场景。

#DevRun开发者沙龙# 10月27日20:00-21:00,特邀华为云数据库技术专家文龙&生态总监张一一,为您打造专场直播“当Redis遇上计算存储分离”!华为云GaussDB(for Redis)利用了存算分离、多模架构、强一致等先进技术理念,提供了一套业界领先的超前解决方案。

社区互动有好礼,不要错过!

 

点击关注,第一时间了解华为云新鲜技术~