Redis学习之认识Redis

一、什么是Redis
Redis:是Remote Dictionary server的缩写,是一个开源的用c语言编写的基于内存亦可持久化的日志型、以key-value键值对形式存储数据的数据库,并提供多种语言的API。

Redis与其他key-value缓存产品比较有3大特点:

  • Redis支持数据的持久化,可将内存中的数据保存在磁盘中,重启时可以再次加载进行使用;
  • Redis 支持的多种数据结构的存储,如String ,List ,Set,zset,Hash等;
  • Redis支持数据的备份,即master-slave模式的数据备份。
    二、Redis的优势
  • 性能极高,读的速度是110000次/s,写的速度是81000次/s;
  • 支持丰富的数据类型存储;
  • 原子,Redis所有的操作都是原子性,即要么全部成功执行,要么全部执行失败。单个操作是原子性的,多个操作也支持事务,即原子性。
  • 功能丰富
    a.可用作缓存、队列、消息订阅/发布
    b.支持键的生存时间
    c.按照一定规则删除相应的键
  • 简单稳定
    a.相比SQL而言更加简单
    b.不同语言的客户端丰富
    c.基于C语言开发,代码量只有3万多行
    三、Redis的安装
    a.如下图下载解压redis到D盘
    在这里插入图片描述
    ,然后打开一个cmd窗口,使用cd命令切换到目录到D:\redis运行:在这里插入图片描述
    这时另外启动一个cmd窗口,原来的不要关闭,不然就无法访问到服务端了。切换到redis目录下运行:
    在这里插入图片描述
    在客户端设置设置键值对:set 命令是设置键,get命令是取,select 命令是切换数据库(redis一个有16个数据库,默认的库是0库)。
    在这里插入图片描述
    127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令:在这里插入图片描述
    出现PONG ,表示redis安装成功。
    四、Redis 数据类型
    • String:是Redis最基本的类型,String是二进制安全的,意味着String可以包含任何数据,比如JPG图片或者序列化的对象。使用的命令是:set /get
    • Hash: Redis hash是一个键值(可以>=value)对集合。
      Redis hash 是一个String 类型的field和value的映射表,时候用于存储对象。
      使用的命令是:hmset /hget
    • List:Redis 列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。
      使用的命令是:lpush /lrange
    • Set :Redis 的Set 是 String 类型的无序集合。
      sadd 命令: 添加一个 string 元素到 key 对应的 set 集合中,成功返回1, 如果元素已经在集合中返回 0,如果 key 对应的 set 不存在则返回错误。
      smembers命令:取集合中某键对应的多个值
    • zset (sorted set :有序集合):是string 类型元素的集合,且不允许重复。每个元素都会关联一个double类型的分数。Redis 正是通过分数来为集合中的成员进行从小到大的排序。
      使用的命令为:zadd key score member / zrangebyscore key 0 1000
      命令栗子:
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      五、Redis的错误理解
      Redis 支持多种数据类型,这是不准确的。因为Redis 存的都是二进制数据即字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,才可以变成一个字符串,整数或对象,此时才具有数据类型。所以任务东西只要能转化成字符数组,都可以存到Redis中。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐