Redis实战阅读总结(第一章)

第一章:初识Redis

    1.1 Redis简介

        1.1.0 简介:
            ● 非关系型数据库
            ● 可存储key与五种类型的映射
            ● 存储在内存,可持久化到硬盘
            ● 可实现客户端分片
        1.1.1 Redis与其他数据库和软件的对比
            ● 暂时除了Redis和MySQL没有用过例子中的其他库,所以不多做描述
        1.1.2 redis附加特性:
            ● 持久化:
                时间点转储:指定时间内达到指定数量的操作数,执行存储
                命令追加:每条命令都追加到文件,可根据数据重要性设置追加操作的间隔时间
            ● 高可用:
                主从复制:主服务执行写命令,复制到从服务,可达到不集中对主服务访问,分压的效果
        1.1.3 使用redis的理由:
            ● 操作内存效率比关系型数据库高
            ● 随机写的效率比普通数据库快

    1.2 redis数据结构简介(只列举基本命令):

        1.2.1 String(基本单位,字符、整数或浮点数):
            ● set:设置
            ● get:获取
            ● del:删除  
        1.2.3 List(有序的字符串链表、可重复):
            ● lpush、rpush:左侧、右侧插入元素
            ● lpop、rpop:左侧、右侧弹出元素
            ● lrange:获取索引范围内所有值
            ● lindex:获取指定位置的元素        
        1.2.2 Set(无序的字符串、不可重复):
            ● sadd::添加元素
            ● srem:移除元素
            ● smembers:获取所有元素
            ● sismember:检查指定元素是否存在
        1.2.4 Hash(无序的kv映射、不可重复):
            ● hset:添加
            ● hget:获取
            ● hgetall:获取所有键值对
            ● hdel:删除某个键
        1.2.5 Zset(有序的kv映射、不可重复):
            ● zadd:添加元素
            ● zrange:获取下标范围内所有元素
            ● zrangebyscore:获取给定数值范围内所有元素
            ● zrem:移除

    1.3 你好redis(用redis构建投票网站后端功能)

        1.3.0 要求:
            ● 超过200票,提前显示
            ● 提前至少一天
            ● 评分会随时间递减:评分 = 票数*固定值(一天秒数'86400'/票数阈值'200' = 432) + 发布时间的nuix时间戳
        1.3.1 对文章进行投票
            redis用到的存储结构
                ● 文章信息的hash,包括标题、网址链接、发布的用户、时间、票数
                ● 按时间排序文章的zset
                ● 按评分排序文章的zset
                ● 防止重复投票每篇文章创建一个投票人set,每次投票添加该set,一周后不能再投票,并删除该set
            程序简述:
                ● 计算发布时间是否大于一周,超过则直接结束
                ● 投票人set添加该用户,如果成功则没有投过票,则文章hash票数+1,评分zset + 432
        1.3.2 发布并获取文章:
            发布程序简述:
                ● 生成文章ID
                ● 将发布用户添加到用户投票名单,并设置一周过期时间
                ● 创建文章信息到hash
                ● 添加到时间排序set和评分排序set里
            获取程序简述:
                ● 传入开始和结束索引,根据索引查询评分排序set返回多个文章id
                ● 遍历id查询文章详情,并返回
        1.3.3 对文章分组:
            分组并按评分显示程序简述:
                ● 利用zinterstore命令取set和zset根据key的交集生成新zset,新zset的value可自定义计算规则(set的value默认为1),默认计算为取和,这里需要取评分或时间,所以计算规则为取最大值即可。

                ● 根据之前的评分zset和定义的分组set取交集,即可获得分组内根据评分排序的文章详情。

ps:本文为读书总结,意在对知识点回顾,只对书中重点进行极简总结,不适于初学,如果有描述不清或理解有误希望及时联系看到会立即更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值