标签:Redis相关的结果107条:

    Redis分布式锁解决抢购问题

      废话不多说,首先分享一个业务场景-抢购。一个典型的高并发问题,所需的最关键字段就是库存,在高并发的情况下每次都去数据库查询显然是不合适的,因此把库存信息存入Redis中,利用redis的锁机制来控制并发访问,是一个不错的解决方案。首先是一段业务代码:@TransactionalpublicvoidorderProductMockDiffUser(StringproductId){//1.查库存in…

    发布于:2019-11-07 07:21:40

    Redis 乐观锁

      乐观锁大多是以数据版本号来进行成功或者失败!举个例子:假设某个文章的点赞数为100,此时的version我们暂定没有异常为100.当用户A对他进行点赞的时候进行操作,那此时的点赞数为100+1、version=101,提交更新时,由于版本号大于数据库记录的版本号,数据被更新,此时数据记录的version=101。然而在特殊情况下用户B是和用户A是同时进行操作的,也就是说,他获得的version也是…

    发布于:2019-11-07 06:51:50

    Linux下Redis服务器搭建

      Linux下Redis服务器搭建一、系统环境操作系统:CentOS6.9redis版本:redis-4.0.2二、安装步骤1.安装预环境运行以下命令安装预环境。[root@redis02redis-4.0.2]#yum-yinstallgccmake2.下载redis源代码文件并解压缩下载完redis源代码后,运行以下命令进行解压缩。[root@redis02softwares]#tar-xzfredis-4.0.2.tar.g…

    发布于:2019-11-04 21:44:11

    使用docker的redis镜像

      前言docker的官方镜像提供了redis的镜像,为了方便自己随时随地需要的使用,就学习一下,顺便记录下来。参考Docker官方Redis镜像:https://hub.docker.com/_edis/准备工作一台linux机器(我用windows10自带的hyper-v装了个虚拟机)安装docker获取redis镜像一行命令搞定:$>dockerpullredis说明:docker的官方镜…

    发布于:2019-11-04 21:26:54

    redis批量删除key

      最近生产环境的redis服务器由于key过期不及时,现在发现时key的个数已经暴增到5000多万了。然后运维同学那边就报警了,最大内存12G,已经用了9G多了,正好下面快要双11了,让我们快些解决。redis服务器里面堆积大量的队列状态相关的key,其实这些key可以设置有效期,或者任务完成以后删除或者过期,但是由于我们使用类库的问题,这些key既没有删除也没有过期,堆积到redis里面去了,现在…

    发布于:2019-11-04 21:19:18

    golang基于redis lua封装的优先级去重队列

      前言:前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的重复任务。这时候我们要临时解决两个事情,一件事情,让一些高质量的任务优先执行;另一件事情,要有去重。rabbitmq不能很好的针对这类情况去重、分优先级。这时候我又想到了我最爱的redis…去重?list+set就可以解决,优先级,zset+zrange+zrem也可以解决……

    发布于:2019-11-04 20:55:42

    redis统计大key

      redis的–bigkeys参数:对redis整个keyspace进行统计(数据量大时采样,调用scan命令),寻找每种数据类型较大的keys,给出数据统计redis-cli–bigkeys-i0.1-h127.0.0.1

    发布于:2019-11-04 20:43:44

    Redis 官网集群步骤

      1.创建目录要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时,强烈建议使用六个节点:其中三个为主节点,而其余三个则是各个主节点的从节点创建一个新目录redis,并在其中创建六个以端口号为名字的子目录,每个子目录都是一个redismkdirrediscdredismkdir7000700170027003700470052.修改配置文件分别进入每个子目录,修改redis.conf中如下…

    发布于:2019-11-04 20:19:42

    Redis Set 实现关注,粉丝功能

      采用Redis的Set类型,这是一种string类型的无序集合,成员具有唯一性,哈希表实现,复杂度为O(1),成员的最大数量是$2^{32-1}$,大约是40亿。关注Key:followUID粉丝Key:fansStaffID往key=follow417添加一个Staff147成员127.0.0.1:6379>SADDfollow417Staff147(error)WRONGTYPEOper…

    发布于:2019-11-04 20:07:55

    Redis-慢查询分析

      Redis-慢查询分析一、慢查询日志慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端一条名利分为如下四部分执行:需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题。二、慢查询的配置参数2.1慢查询的预设阀值sl…

    发布于:2019-11-04 19:40:05

    Redis Cluster部署、管理和测试

      背景Redis3.0之后支持了Cluster,大大增强了Redis水平扩展的能力。RedisCluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twenproxy、Codis,与其不同的是:RedisCluster并非使用Porxy的模式来连接集群节点,而是使用无中心节点的模式来组建集群。在Cluster出现之前,只有Sentinel保证了Redis的高可用…

    发布于:2019-11-03 14:31:32

    Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis

      Lua模块开发在实际的开发过程中,不可能把所有的lua代码写在一个lua文件中,通常的做法将特定功能的放在一个lua文件中,即用lua模块开发。在lualib目录下,默认有以下的lua模块。lualib/├──cjson.so├──ngx│├──balancer.lua│├──ocsp.lua│├──re.lua│├──semaphore.lua│├──ssl││└──session.lua│└─…

    发布于:2019-11-02 22:22:22

    Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类

      Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类RBAC介绍RBAC(Role-BasedAccessControl,基于角色的访问控制),用户基于角色的访问权限控制。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多的关系。如图所示:sql_tool在本案例中,采用的就是这种权限设计的方式。具体的sql语句脚本如下:CREATETA…

    发布于:2019-11-02 20:02:48

    Linux 配置 nginx、mysql、php-fpm、redis 开机启动

      Linux(CentOS)上配置nginx、mysql、php-fpm、redis开机启动,编写开机启动脚本。系统环境:CentOSLinuxI、nginx开机启动1.在/etc/init.d/目录下创建脚本vim/etc/init.dginx2.更改脚本权限chmod775/etc/init.dginx3.编写脚本内容#!/bin/bash#nginxStartupscriptfortheNgi…

    发布于:2019-11-02 19:21:39

    环境部署:CentOS7 下 Redis4 安装与配置(Redis开机启动)

      一、前言环境信息CentOS7Redis4.0.2二、安装步骤安装基础依赖#安装基础依赖包sudoyuminstall-ygccgcc-c++makejemalloc-develepel-release下载Redis(https:/edis.io/download)#从官网获取最新版本的下载链接,然后通过wget命令下载wgethttp://download.redis.ioeleasesedis…

    发布于:2019-11-02 09:48:20

    python下的redis连接

      redis的概念redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset–有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、addemove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的…

    发布于:2019-11-02 09:41:28