1、Redis是什么,用来做什么
3、Redis的基本使用(二)消息队列
4、如何使用Redis做队列操作
5、windows宝塔怎么安装redis
Redis是什么,用来做什么
Redis是一个nosql数据库,可以存储key-value值。因为其底层实现中,数据读写是基于内存,速度非常快,所以常用于缓存;进而因其为独立部署的中间件,常用于分布式缓存的实现方案。
常用场景有:缓存、秒杀控制、分布式锁。
虽然其是基于内存读写,但底层也有持久化机制;同时具备集群模式;不用担心其可用性。
关于Redis的使用,可以参考《Redis的使用方法、常见应用场景》
应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。
同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。
这样处理,主要是实时读写redis,而mysql数据则通过队列异步处理,缓解mysql压力,不过这种方法应用场景主要基于高并发,而且redis的高可用集群架构相对更复杂,一般不是很推荐。
Redis的基本使用(二)消息队列
使用消息中间件的时候,并非每次都需要非常专业的消息中间件,假如只有一个消息队列,只有一个消费者,那就没有必要去使用专业的消息中间件,这种情况可以直接使用Redis来做消息队列。
Redis的消息队列不是特别专业,他没有很多高级特性,适用简单的场景,如果对于消息可靠性有着极高的追求,那么不适合使用Redis做消息队列。
Redis做消息队列,使用它里边的List数据结构就可以实现,使用lpush/rpush操作来实现入队,然后使用lpop/rpop来实现出队。
在客户端(例如Java端),我们会维护一个死循环来不停的从队列中读取消息,并处理,如果队列中有消息,则直

可以使用之前讲的blpop/brpop。
blpop阻塞式的弹出,相当于lpop的阻塞版。
延迟队列可以通过zset来实现,因为zset中有一个score,我们可以把时间作为score,将value存到redis中,然后通过轮询的方式,去不断的读取消息出来。
如果消息是一个字符串,直接发送即可,如果是一个对象,则需要对对象进行序列化,这里我们
使用JSON来实现序列化和反序列化。
首先在项目中,添加JSON依赖:
接下来,构造一个消息对象:
redis设计用来做缓存的,但是由于它自身的某种特性使得它可以用来做消息队列,它有几个阻塞式的API可以使用,正是这些阻塞式的API让其有能力做消息队列;
做消息队列的其他特性例如FIFO(先入先出)也很容易实现,只需要一个list对象从头取数据,从尾部塞数据即可;
redis能做消息队列还得益于其list对象blpopbrpop接口以及Pub/Sub(发布/订阅)的某些接口,它们都是阻塞版的,所以可以用来做消息队列。
在D盘新建文件夹【redis】,右键解压RedisZIP包,把所有文件解压到redis文件夹中。(其他盘符也可以滴^_^)
redis-benchmark.exe配置文件
windows运行(快捷键:windows键+R键),输入【cmd】命令,进入DOC操作系统窗口。
使用命令【redis-server.exeredis.windows.conf】,启动redis服务【如果您没出现如下的错误,直接跳过】。如果您也像我一样出现如下的错误,不用急,总有解决办法滴!
根据提示,是maxheap标识有问题,打开配置文件redis.windows.conf,搜索maxheap,然后直接指定好内容即可.
启动redis服务的doc窗口,不用关闭,因为服务需要一直执行,关闭服务,直接关闭窗口就行。
新打开一个doc窗口,用自带的客户端工具进行测试命令【redis-cli.exe】,详细操作如下。。事例展示了一个基本的读写操作,设置setkey-age,value-21,getage得到key的值。^_^
【宝塔redis怎么用】的内容来源于互联网,如引用不当,请联系我们修改。
本文来源:vps主机--宝塔redis怎么用(宝塔redis无法启动)
本文地址:https://www.idcbaba.com/vps/2887.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。