目录

Redis 基本介绍

Redis 的安装

Redis 操作的基本原理图

Redis 的启动

Redis 的操作指令一览

Redis 的基本使用

Redis 的 Crud 操作

Redis 的五大数据类型

String(字符串) 介绍

Hash (哈希)-介绍

List(列表)-介绍

Set(集合) - 介绍


Redis 基本介绍

  • Redis是NoSQL数据库,不是传统的关系型数据库
  • 官网:
  • Redis:REmote-DIctionary Server(远程字典服务器),Redis性能非常高,单机能够达到15w qps,通常适合做缓存,也可以持久化。
  • 是完全开源免费的,高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是最热门的NoSql数据库之一,也称为数据结构服务器

Redis 的安装

  • 下载后直接解压就有Redis的服务器端程序(redis-server.exe)和客户端程序(redis-cli.exe),直接双击即可运行,并不需要安装。

redis数据库页面管理器 redis数据库的使用及原理_Redis

redis数据库页面管理器 redis数据库的使用及原理_Redis_02

Redis 操作的基本原理图

redis数据库页面管理器 redis数据库的使用及原理_数据库_03

Redis 的启动

redis数据库页面管理器 redis数据库的使用及原理_数据库_04

Redis 的操作指令一览

  • Redis 命令参考文档:

redis数据库页面管理器 redis数据库的使用及原理_Redis_05

Redis 的基本使用

  • 说明:
  • Redis 安装好后,默认有 16 个数据库,初始默认使用 0 号库, 编号是 0...15
  • 添加 key-val [set]
  • 获取 key 对应的值. [get key]

redis数据库页面管理器 redis数据库的使用及原理_redis数据库页面管理器_06

  • 查看当前 redis 的 所有 key [keys *]
  • 切换 redis 数据库 [select index]
  • 例:使用第二个数据库

redis数据库页面管理器 redis数据库的使用及原理_redis_07

  • 如何查看当前数据库的 key-val 数量 [dbsize]

redis数据库页面管理器 redis数据库的使用及原理_redis_08

  • 清空当前数据库的 key-val 和清空所有数据库的 key-val [flushdb(清空当前数据库) ;flushall(清空所有数据库)]

redis数据库页面管理器 redis数据库的使用及原理_redis_09

Redis 的 Crud 操作

Redis 的五大数据类型

  • Redis 的五大数据类型是: String(字符串) 、Hash (哈希)、List(列表)、Set(集合)和 zset(sorted set:有序集合)

String(字符串) 介绍

  • string 是 redis 最基本的类型,一个 key 对应一个 value。
  • string 类型是二进制安全的。除普通的字符串外,也可以存放图片等数据。
  • redis 中字符串 value 最大是 512M

redis数据库页面管理器 redis数据库的使用及原理_redis数据库页面管理器_10

  • 说明 :
  • key :name
  • value: Jim
  • String(字符串) -CRUD
  • set[如果存在就相当于修改,不存在就是添加]
  • get/del  key

redis数据库页面管理器 redis数据库的使用及原理_Redis_11

  • setex(set with expire)键秒值
  • mset[同时设置一个或多个 key-value 对]
  • mget[同时获取多个 key-val]

redis数据库页面管理器 redis数据库的使用及原理_数据库_12

Hash (哈希)-介绍

  • 基本的介绍
  • Redis hash 是一个键值对集合。var user1 map[string]string
  • Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
  • 举例,存放一个 User 信息:(user1)
  • user1 name "smith" age 30 job "golang coder"
  • 说明 :

redis数据库页面管理器 redis数据库的使用及原理_redis数据库页面管理器_13

  • Hash(哈希)-CRUD
  • 举例说明 Redis 的 Hash 的 CRUD 的基本操作.
  • hset/hget/hgetall/hdel
  • 演示添加 user 信息的案例 (name,age )

redis数据库页面管理器 redis数据库的使用及原理_数据库_14

  • 在给 user 设置 name 和 age 时,前面我们是一步一步设置,使用 hmset 和 hmget 可以一次性来设置多个 filed 的值和返回多个 field 的值 。

redis数据库页面管理器 redis数据库的使用及原理_Redis_15

  • hlen 统计一个 hash 有几个元素.

redis数据库页面管理器 redis数据库的使用及原理_redis_16

  • hexists key field查看哈希表 key 中,给定域 field 是否存在

redis数据库页面管理器 redis数据库的使用及原理_数据库_17

List(列表)-介绍

  • 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
  • List 本质是个链表, List 的元素 是有序的,元素的值可以重复.
举例,存放多个地址信息:
city 北京 天津 上海
说明 :
key : city
北京 天津 上海 就是三个元素

redis数据库页面管理器 redis数据库的使用及原理_redis数据库页面管理器_18

  • List(列表)-CRUD
  • 举例说明 Redis 的 List 的 CRUD 操作。
  • lpush/rpush/lrange/lpop/rpop/del/

redis数据库页面管理器 redis数据库的使用及原理_数据库_19

redis数据库页面管理器 redis数据库的使用及原理_redis数据库页面管理器_20

  • List-使用细节和注意事项
  • lindex,按照索引下标获得元素(从左到右,编号从0开始)
  • LLEN key返回列表key的长度,如果key不存在,则key被解释为一个空列表,返回0
  • List数据,可以从左或者右插入添加;
  • 如果值全移除,对应的键也就消失了。

Set(集合) - 介绍

  • Redis 的 Set 是 string 类型的无序集合。
  • 底层是 HashTable 数据结构, Set 也是存放很多字符串元素,字符串元素是无序的,而且元素的值不能重复
举例,存放多个邮件列表信息:
    email sgg@sohu.com tom@sohu.com
说明 :
    key : email
    tn@sohu.com tom@sohu.com 就是二个元素
redis>sadd email xx xxx

redis数据库页面管理器 redis数据库的使用及原理_数据库_21

  • Set(集合)- CRUD
  • 举例说明 Redis 的 Set 的 CRUD 操作. sadd
  • smembers[取出所有值]
  • sismember[判断值是否是成员]
  • srem [删除指定值]
  • 演示添加多个电子邮件信息的案例

redis数据库页面管理器 redis数据库的使用及原理_redis_22