redis-1

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: redis-1

一、数据库分类 ***

数据库模型:

   网状:第一代模型,实现太难,基本上没有成体数据库

   层次:第二代模型,可以实现,ibm

   关系:第三代模型,当前传统主流,oracle、ibm db2、sql server、mysql、postgresql(greenplum)

   非关系:

           文档:mongodb

           键值对:redis

           存储引擎:elasticsearch

         

关系和非关系数据库的区别:

   关系型: 安全、速度稍慢            

   非关系型:速度快,安全性稍差

二、Redis重要特性

1.速度快

 c语言写的

 代码优雅

 单线程架构,并发能力稍差,但可以用集群弥补                      

2.支持多种数据结构

 字符串,哈希,列表,集合,有序集合

3.丰富的功能

 天然计数器

 健过期功能

 消息队列

4.支持客户端语言多

 php,java,python

5.数据持久化(memcache 无法持久化)

 所有的数据都运行在内存中

 支持2种格式持久化数据AOF RDB AOF&RDB

6.自带多种高可用架构

 主从

 哨兵

 集群



 

三、redis应用场景


1.缓存-键过期时间

 把session会话存在redis,过期删除

 缓存用户信息,缓存Mysql部分数据,用户先访问redis,redis没有再访问mysql

 商城优惠卷过期时间

2.排行榜-列表&有序集合

 热度/点击数排行榜

 直播间礼物积分排行

3.计数器-天然支持计数器

 帖子浏览数

 视频播放数

 评论数

 点赞/踩

4.社交网络-集合

 粉丝

 共同好友

 兴趣爱好

 标签

5.消息队列-发布订阅

 配合ELK缓存收集来的日志


###########################################################################################

安装redis

1. 准备安装和数据目录

   mkdir -p /data/soft

   mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}


2.下载redis安装包

   cd /data/soft

   wget http://download.redis.io/releases/redis-5.0.7.tar.gz


3.解压redis到/opt/redis_cluster/

   tar xf redis-5.0.7.tar.gz -C /opt/redis_cluster/

   ln -s /opt/redis_cluster/redis-5.0.7  /opt/redis_cluster/redis

 

4.切换目录安装redis

   cd /opt/redis_cluster/redis

   make && make install

 

5.编写配置文件

vim /opt/redis_cluster/redis_6379/conf/6379.conf

添加:

bind 127.0.0.1 192.168.8.10

port 6379

daemonize yes

pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid

logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log

databases 16

dbfilename redis.rdb

dir /opt/redis_cluster/redis_6379

保存退出


6.启动当前redis服务

redis-server /opt/redis_cluster/redis_6379/conf/6379.conf


7.关闭redis服务

redis-cli shutdown


8.登录redis

redis-cli  #本机登录

redis-cli -h 192.168.8.10 -p 6379    #其他主机登录



#####################################################################

redis基本操作命令

1.全局命令

   KEYS *  #列出所有键值名,但在企业环境禁止使用

   DBSIZE  #查看有多少键值数

   EXISTS    #查看键值是否存在

   EXPIRE k2 20    #设置K2过期时间为20秒,20秒后k2自动取消

   PERSIST k2        #取消k2的过期时间

   TTL k2    #查看k2的生命周期

   TYPE    #查看数据类型


2.字符串类型:string

   SET    k3 3        #创建键值

   GET    k3            #查看键值

   DEL    k2            #删除键值

   INCR k3            #键值k3为整数,递增加1

   INCRBY k3 10      #递增k3的量值10

   MSET k4 v4 k5 v5 k6 v6 k7 v7      #批量创建键值

   MGET k4 k5 k6 k7                #批量查看键值

 


3.列表:list

   RPUSH list1 1 2 3 4  #创建列表list1,值为1 2 3 4

   RPUSH list1 5 6 7 8     #在list1右侧添加5 6 7 8

   LPUSH list1 0          #在list1左侧添加0

   LRANGE list1 0  -1   #查看list1所有值

   RPOP list1             #删除右侧最后一个值

   LPOP list1             #删除左侧第一个值

   LTRIM list1 0 2         #仅保留前3位,其他值删除

 

4.哈希:hash

   HMSET user:1000 username zhangsan age 17 job it  #创建hash键值user:1000

   HGET user:1000 username                #查看键值中username参数

   HGET user:1000 age                #查看键值中age参数

   HGET user:1000 job                 #查看键值中job参数

   HMSET user:1000 tel 18866668888             #添加值tel


5.集合:set

   SADD set1 1 2 3        #创建集合set1

   SMEMBERS set1        #查看集合set1

   SADD set1 1 4        #为集合set1添加值1 4 ,但集合特性是去除重复,所以1无法再添加

   SREM set1 1 4        #删除集合的值1 4

   sadd set2 1 4 5        #创建第二个集合set2

   SDIFF set1 set2        #求差集

   SINTER set1 set2    #求交集

   SUNION set1 set2    #求并集


############################################################################

1.redis持久化: *****

   RDB:生成时间点快照,保存于硬盘

       优点:速度快,适合做备份,能做主从复制,单开子进程进行rdb操作不影响主业务

       缺点:会有部分数据丢失

     

   AOF:记录所有写操作命令,通过再次执行这些命令还原数据

       优点:最大程度保证数据不丢失

       缺点:日志记录量太大

     

2.RDB配置:

redis-cli    登录redis

bgsave        rdb保存命令


vim /opt/redis_cluster/redis_6379/conf/6379.conf    

添加:

save 900 1           #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。

save 300 10          #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。

save 60 10000        #在60秒(1分钟)之后,如果至少有10000个key发生变化,则dump内存快照



3.AOF配置

vim /opt/redis_cluster/redis_6379/conf/6379.conf

添加:

appendonly yes            #启用AOF持久化

appendfilename "redis.aof"    #指定AOF文件名

appendfsync everysec        #每秒同步一次


4.重启redis

redis-cli shutdown

redis-server /opt/redis_cluster/redis_6379/conf/6379.conf


######################################################################################

环境:

   主服务器:192.168.8.10

   从服务器:192.168.8.20

1.redis主从复制

   为解决单点故障把数据复制到一个或多个副本副本服务器(从服务器),实现故障恢复和负载均衡

 

2.开启第二台服务器,安装redis

(1)把第一台服务器的redis安装目录,scp到第二台服务器上

   scp -rp /opt/redis_cluster/ root@192.168.8.20:/opt

(2)在第二台服务器上,make install安装redis

   cd /opt/redis_cluster/redis

   make install

   vim /opt/redis_cluster/redis_6379/conf/6379.conf

   修改:

   bind 127.0.0.1 192.168.8.20

   slaveof 192.168.8.10 6379

   保存退出

(3)启动服务

   redis-server /opt/redis_cluster/redis_6379/conf/6379.conf

(4)主服务器上新建键值,测试从服务器自动同步


(5)从服务器在同步过程中,只能复制主数据库的数据,不能手动添加修改数据;

   如果从服务器非要修改数据,需要断开同步:

   redis-cli slaveof no one  


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
16天前
|
NoSQL Redis
Redis事务长什么样?一文带你全面了解
Redis事务是一组命令的有序队列,通过MULTI、EXEC、WATCH和DISCARD等命令实现原子性操作。事务中的命令在EXEC执行前不会实际运行,而是先进入队列,确保所有命令要么全部成功,要么全部失败。此外,Redis还支持Lua脚本实现类似事务的操作,通常更简单高效。事务适用于购物车结算、秒杀活动、排行榜更新等需要保证数据一致性的场景。
39 0
|
7月前
|
缓存 NoSQL 关系型数据库
记一次redis使用问题
记一次redis使用问题
35 0
|
8月前
|
缓存 NoSQL 数据库
Redis的三剑客
Redis的三剑客
|
存储 缓存 NoSQL
Redis为什么那么快
Redis为什么那么快
125 1
Redis为什么那么快
|
存储 消息中间件 NoSQL
什么是Redis?
redis是一个高性能的key-value数据库。
81 0
|
NoSQL 关系型数据库 MySQL
Redis1
Redis1
86 0
|
消息中间件 存储 缓存
什么是 Redis?
什么是 Redis?
75 0
|
NoSQL 程序员 数据库
|
存储 缓存 监控
Redis大总结,要言不烦,字字珠玑(下)
Redis大总结,要言不烦,字字珠玑(下)
317 0
Redis大总结,要言不烦,字字珠玑(下)

热门文章

最新文章