redis部分基本知识 | 青训营笔记

89 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天,根据提到的redis,对redis的基本知识进行了部分学习,整体上逐渐有了认识。 redis是一个key-value存储系统,是跨平台的非关系型数据库。是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库。

redis-----数据结构服务器,value可为string、hash、list、sets、sorted sets等。

一、基本介绍

redis与其他key-value缓存产品相比:
  • redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载使用
  • redis支持的key-value类型的数据,包含list、set、hash、zset等数据结构的存储
  • redis支持数据的备份,即master-slave模式的数据备份
  • redis提供原子性操作,数据类型都是基于基本数据结构,同时对程序员透明,无需额外的抽象
  • redis运行在内存中但是可以持久化到磁盘(对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存),并且相比磁盘操作,内存操作更简单,另外在磁盘格式方面都是以追加的方式产生(因为不需要随机访问)。
redis优点:
  • 性能高
  • 数据类型丰富
  • 原子操作
  • 特性丰富(如:redis还支持publish/subscribe)

二、数据类型

string:
  • redis最基本数据类型,一个键最大能存储512MB
  • string 类型的二进制是安全的(redis的string可以包含任何数据)
hash:
  • 键值对集合(每个hash可以存储2*32-1键值对)
  • string类型的field和value的映射表(适合用于存储对象)
set:
  • string类型的无序集合
  • 集合通过哈希表实现的,添加、删除、查找的复杂度都是O(1)

三、redis命令

1.打开redis客户端:

  • 启动redis服务器
  • 打开终端输入redis-cli,会连接本地的redis服务

远程redis服务执行命令:

  • redis-cli -h host -p port -a password

    (如:redis-cli -h 127.0.0.1 -p 6379 -a "mypass")

host:127.0.0.1 password:mypass

2.键:

command key_name

  • command:set、del(执行成功后输出integer-1,否则integer-0)

del key----key存在时删除key

dump key---序列化给定key,并返回被序列化的值

exist key----检查给定的key是否存在

expire key seconds---为给定key设置过期时间,以秒计

expireat key timestamp--为key设置过期时间,命令接收的时间参数是unix时间戳

move key db----将当前数据库的key移动到给定的数据库db中

type key---返回key所存储的值的类型