没有合适的资源?快使用搜索试试~ 我知道了~
redis相关,购物商城系统
试读
33页
需积分: 0 0 下载量 27 浏览量
更新于2023-08-15
收藏 65.53MB PDF 举报
gouwuchw
⼀、Redis介绍
1.1 锋迷商城项⽬问题
数据库访问压⼒:为了降低对数据库的访问压⼒,当多个⽤户请求相同的数据时,我们可以将第⼀次从数据
库查询到数据进⾏缓存(存储在内存中),以减少对数据库的访问次数
⾸⻚数据的加载效率:将⼤量的且不经常改变的数据缓存在内容中,可以⼤幅度提⾼访问速度
集群部署下的商品超卖:分布式事务
⽤户登录:分布式会话
1.2 Redis介绍
1.2.1 Redis的产⽣背景
2008年 萨尔瓦多——开发⼀个进⾏⽹站实时统计软件项⽬(LLOOGG),项⽬的实时统计功能需要频繁的进⾏数
据库的读写(对数据库的读写要求很⾼—数千次/s),MySQL满⾜不了项⽬的需求,萨尔瓦多就使⽤C语⾔⾃定义
了⼀个数据存储系统—Redis。后来萨尔瓦多不满⾜仅仅在LLOOGG这个项⽬中使⽤redis,就对redis进⾏ 产品
化 并进⾏开源,以便让更多的⼈能够使⽤。
1.2.2 Redis使⽤
Redis就是⼀个⽤C语⾔开发的、基于内存结构进⾏ 键值对键值对 数据存储的、⾼性能的、⾮关系型NoSQL数据库
1.2.3 Redis⽀持的数据类型
redis是基于键值对进⾏数据存储的,但是value可以是多种数据类型:
string 字符串
hash 映射
list 列表(队列)
set 集合
zset ⽆序集合
1.2.4 Redis特点
基于内存存储,数据读写效率很⾼
Redis本身⽀持持久化
Reids虽然基于key-value存储,但是⽀持多种数据类型
Redis⽀持集群、⽀持主从模式
1.3 Redis应⽤场景
缓存:在绝⼤多数的互联⽹项⽬中,为了提供数据的访问速度、降低数据库的访问压⼒,我们可以使⽤redis
作为缓存来实现
点赞、排⾏榜、计数器等功能:对数据实时读写要求⽐较⾼,但是对数据库的⼀致性要求并不是太⾼的功能
场景
分布式锁:基于redis的操作特性可以实现分布式锁功能
分布式会话:在分布式系统中可以使⽤redis实现 session (共享缓存)
消息中间件:可以使⽤redis实现应⽤之间的通信
1.4 Redis的优缺点
1.4.1 优点
redis是基于内存结构,性能极⾼(读 110000次/秒,写 81000次/秒)
redis基于键值对存储,但是⽀持多种数据类型
redis的所有操作都是原⼦性,可以通过lua脚本将多个操作合并为⼀个院⼦操作(Redis的事务)
reids是基于单线程操作,但是其多路复⽤实现了⾼性能读写
1.4.2 缺点
缓存数据与数据库数据必须通过两次写操作才能保持数据的⼀致性
使⽤缓存会存在缓存穿透、缓存击穿及缓存雪崩等问题,需要处理
redis可以作为数据库使⽤进⾏数据的持久存储,存在丢失数据的⻛险
⼆、Redis安装及配置
2.1 Redis安装
基于linux环境安装redis
2.1.1 下载Redis
2.1.2 安装redis
安装gcc
解压redis安装包
解压之后进⼈到redis-5.0.5⽬录
编译
安装
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
yum -y install gcc
tar -zxvf redis-5.0.5.tar.gz
cd redis-5.0.5
make MALLOC=libc
make install
启动redis
打开客户端
2.2 Redis配置
使⽤ redis-server 指令启动redis服务的时候,可以在指令后添加redis配置⽂件的路径,以设置redis
是以何种配置进⾏启动
如果不指定配置⽂件的名字,则按照redis的默认配置启动(默认配置≠redis.conf)
我们可以通过创建redis根⽬录下 redis.conf 来创建多个配置⽂件,启动多个redis服务
常⽤redis配置
## 当我们完成redis安装之后,就可以执⾏redis相关的指令
redis-server ## 启动redis服务
redis-server &
redis-cli ## 启动redis操作客户端(命令⾏客户端)
redis-server redis-6380.conf & ## redis以redis-6380.conf⽂件中的配置来启动
redis-server redis-6380.conf &
redis-server redis-6381.conf &
## 设置redis实例(服务)为守护模式,默认值为no,可以设置为yes
daemonize no
## 设置当前redis实例启动之后保存进程id的⽂件路径
pidfile /var/run/redis_6379.pid
## 设置redis实例的启动端⼝(默认6379)
port 6380
## 设置当前redis实例是否开启保护模式
protected-mode yes
## 设置允许访问当前redis实例的ip地址列表
bind 127.0.0.1
## 设置连接密码
requirepass 123456
## 设置redis实例中数据库的个数(默认16个,编号0-15)
databases 16
## 设置最⼤并发数量
maxclients
## 设置客户端和redis建⽴连接的最⼤空闲时间,设置为0表示不限制
三、Redis基本使⽤
3.1 Redis存储的数据结构
Redis是以键值对形式进⾏数据存储的,但是value⽀持多种数据类型
3.2 string常⽤指令
timeout 0
## 设置值/修改值 如果key存在则进⾏修改
set key value
## 取值
get key
## 批量添加
mset k1 v1 [k2 v2 k3 v3 ...]
## 批量取值
mget k1 [k2 k3...]
## ⾃增和⾃减
incr key ## 在key对应的value上⾃增 +1
decr key ## 在key对应的value上⾃减 -1
incrby key v ## 在key对应的value上+v
decrby key v ## 在key对应的value上-v
## 添加键值对,并设置过期时间(TTL)
setex key time(seconds) value
## 设置值,如果key不存在则成功添加,如果key存在则添加失败(不做修改操作)
setnx key value
3.3 hash常⽤指令
3.4 list常⽤指令
## 在指定的key对应value拼接字符串
append key value
## 获取key对应的字符串的⻓度
strlen key
## 向key对应的hash中添加键值对
hset key field value
## 从key对应的hash获取field对应的值
hget key field
## 向key对应的hash结构中批量添加键值对
hmset key f1 v1 [f2 v2 ...]
## 从key对应的hash中批量获取值
hmget key f1 [f2 f3 ...]
## 在key对应的hash中的field对应value上加v
hincrby key field v
## 获取key对应的hash中所有的键值对
hgetall key
## 获取key对应的hash中所有的field
hkeys key
## 获取key对应的hash中所有的value
hvals key
## 检查key对应的hash中是否有指定的field
hexists key field
## 获取key对应的hash中键值对的个数
hlen key
## 向key对应的hash结构中添加f-v,如果field在hash中已经存在,则添加失败
hsetnx key field value
## 存储数据
lpush key value # 在key对应的列表的左侧添加数据value
rpuhs key value # 在key对应的列表的右侧添加数据value
剩余32页未读,继续阅读
资源推荐
资源评论
2009-12-19 上传
2010-05-17 上传
5星 · 资源好评率100%
116 浏览量
108 浏览量
2023-08-24 上传
2019-05-28 上传
166 浏览量
2022-05-02 上传
2023-09-18 上传
2011-09-22 上传
2024-06-12 上传
166 浏览量
5星 · 资源好评率100%
182 浏览量
2021-10-20 上传
178 浏览量
2018-07-06 上传
5星 · 资源好评率100%
资源评论
Springsumer
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 程序编程心得体会PPT
- 基于springboot的信息化在线教学平台的设计与实现源码(java毕业设计完整源码+LW).zip
- WordPressp安装插件无法连接到FTP服务器
- 大学编程实训心得体会PPT.pptx
- 整车性能目标书,汽车性能目标书,十六个性能模块目标定义模板,包含燃油车、混动车型及纯电动车型 对于整车性能的集成开发具有较高的参考价值
- 2-金山打字通V2016-经典打字手势练习启蒙软件
- 基于springboot的厨艺交流平台的设计与实现代码源码(java毕业设计完整源码+LW).zip
- PMSG并网直流微网 原理:外环采用电压环,稳定直流母线电压,电流采用电流环
- 基于springboot的大型商场应急预案管理系统源码(java毕业设计完整源码+LW).zip
- 2-强力卸载工具Uninstall Tool 3.5.6
- 工业物联网监控平台可视化java项目springboot开发iot二次开发源 SpringBoot物联网风电监测系统源码 统源码 iot物联网风电能源电场监控系 基于SpringBoot的物联网系统
- “创意图库”:图片素材网站系统的用户体验设计
- 基于springboot的校园社团信息管理源码(java毕业设计完整源码+LW).zip
- 网件R8000刷梅林X7.9.1后软件中心版本00 不能下载插件的解决方法
- OpencvSharp资料,采用C#加Winform编写,包含接近50个Demo,直接运行即可 例程包含:模板匹配、边缘识别、人脸识别,灰度变化、标定等
- 2024跨年烟花代码html/烟花代码大全html/跨年烟花源代码html(带音效)
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功