Redis概述详解 - 数据类型 -指令 - 应用场景
文章目录
- Redis概述
- Redis特点
- Redis有什么哪些应用场景?(提供持久化)
- Redis下载安装
- Redis的目录结构
- 启动Redis(目标计算机积极拒绝,无法连接错误)
- Redis端口号(6379)
- Redis执行流程
- 9.Redis数据类型
- 只需要掌握第一种值为字符串的形式
- Redis的指令(对应五种数据类型)
- 10.1 字符串类型
- 10.2 Hash类型
- 10.3 列表类型List
- 10.4 集合类型
- 10.5 通用指令(所有类型都可以使用)
1. Redis概述
Redis(Remote Dictionary Server ) 远程字典服务,是一个非关系型数据库(NOSQL数据库)
Redis一般用来存储经常访问的,但又不经常改变的数据(存的数据并不会很多)【比如12306的省、市、区、站点这些基本不会改变,又经常被访问到的】
2. Redis特点
Redis是基于key-value 键值对 的 基于内存 NoSQL 数据库(非关系型数据库) 使用C语言开发 ,直接从内存中获取数据,读写性能非常好。提供持久化,防止数据丢失。
3. Redis有什么哪些应用场景?(提供持久化)
- 会话缓存(Session Cache),用于处理一些临时数据
- 聊天室的在线好友列表
- 网站访问统计
- 排行榜/计数器
- 发布/订阅功能
4. Redis下载安装
- Linux版的Redis
官方提倡使用Linux版的Redis,所以官网值提供了Linux版的Redis下载- 从官网或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
由于目标计算机积极拒绝,无法连接。
通过在当前目录下输入: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 //测试你的键是什么类型
还没有评论,来说两句吧...