Redis概述详解 - 数据类型 -指令 - 应用场景

1. Redis概述

  Redis(Remote Dictionary Server ) 远程字典服务,是一个非关系型数据库(NOSQL数据库)

  Redis一般用来存储经常访问的,但又不经常改变的数据(存的数据并不会很多)【比如12306的省、市、区、站点这些基本不会改变,又经常被访问到的】

2. Redis特点

  Redis是基于key-value 键值对基于内存 NoSQL 数据库(非关系型数据库) 使用C语言开发 ,直接从内存中获取数据,读写性能非常好。提供持久化,防止数据丢失。

3. Redis有什么哪些应用场景?(提供持久化)

  1. 会话缓存(Session Cache),用于处理一些临时数据
  2. 聊天室的在线好友列表
  3. 网站访问统计
  4. 排行榜/计数器
  5. 发布/订阅功能

4. Redis下载安装

  1. Linux版的Redis
    官方提倡使用Linux版的Redis,所以官网值提供了Linux版的Redis下载
  2. 从官网或GitHub上下载window版的Redis
    官网下载地址:http://redis.io/download
    github下载地址:https://github.com/MSOpenTech/redis/tags

5. Redis的目录结构

redis文件目录 描述
reids-server.exe Redis服务器
redis-cli.exe Redis命令行客户端
redis-check-aof.exe AOF文件修复工具
redis-check-dump.exe RDB文件检查工具
redis-benchmark.exe Redis性能测试工具
redis.conf / redis.windows.conf reids的配置文件

6. 启动Redis(目标计算机积极拒绝,无法连接错误)

通过start.bat启动,如果报错:

Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。

通过在当前目录下输入:redis-server.exe redis.windows.conf来启动 / 或者将start.bat的内容修改为redis-server.exe redis.windows.conf
还是不行,然后我看我的内存使用情况,删除一些后台释放内存,就启动成功了!

启动成功:
在这里插入图片描述

使用就开启服务端不关闭reids-server.exe,然后开客户端使用redis-cli.exe,或者连接别人的服务端。

7. Redis端口号(6379)

  • Redis端口是: 6379
  • T-omcat端口是:8080
  • MySql端口是: 3306

8. Redis执行流程

在这里插入图片描述

9.Redis数据类型

  Redis是以键和值的形式存储数据 Redis可以理解成Map集合

  • 键:都是字符串
  • 值:有五种数据类型
Redis- 值 -得数据类型 描述
字符串 (String) Map<String,String>
哈希(hash) Map<String,Map<String,String>>(也可以一个大键里面对应多个小的键值对 【key : {key:value; key:value}】)
字符串列表(list) Map<String,LinkedList> (一键多值)
字符串集合(set) Map<String,HashSet>
有序字符串集合(sorted set) Map<String,LinkedHashSet>,值是有序的,按照进入顺序

在这里插入图片描述

只需要掌握第一种值为字符串的形式

  其他四种集合可以转成json字符串来操作

10. Redis的指令(对应五种数据类型)

10.1 字符串类型

  set key value		//添加一个键值对  如果键存在,则修改  相当于set()方法
  get key            //根据键获取值(如果没有返回null)
  del key            //根据键删除键值对
  mget key1 key2      //根据多个键查看值

10.2 Hash类型

  hset myhashkey key value	//添加数据 myhashkey : Map(key , value)
  hget myhashkey key 		//根据大键和小键获取值
  hdel myhashkey key 		//根据大键和小键删除值

10.3 列表类型List

值可以重复,栈存储:先进后出

	lpush mylist a b c d e f //压栈 添加数据,键为mylist 值为:a b c d e f
	lpop  mylist         	 //从左边弹栈 f(左边栈底) <删除操作,删除的顺序和添加的顺序相反>
	rpop  mylist        	 //从右边弹栈 a(右边是栈底) <删除操作,删除的顺序和添加的顺序相同>

10.4 集合类型

值不能重复,相同值只存储一个

	  sadd myset a b c a b   //添加数据(只会存储a b c)
	  smembers myset    	 //获取所有数据
	  srem myset a b   		 //删除数据

10.5 通用指令(所有类型都可以使用)

	  keys *      //查看Redis中所有的键  
	  del  myset  //删除指定的键值对
	  exists key  //判断键是否存在   0表示不存在,  1表示存在
	  type myset  //测试你的键是什么类型

猜你喜欢

转载自blog.csdn.net/qq_40542534/article/details/108708569