Redis

Redlock(redis分布式锁)原理分析

Redlock:全名叫做RedisDistributedLock;即使用redis实现的分布式锁;使用场景:多个服务间保证同一时刻同一时间段内同一用户只能有一个请求(防止关键业务出现并发攻击); 官网文档地址如下:https://redis.io/topics/distlock这个锁的算法实现了多redis实...

Redis源码剖析和注释(七)--- 快速列表(quicklist)

Redis快速列表(quicklist)1.介绍quicklist结构是在redis3.2版本中新加的数据结构,用在列表的底层实现。通过列表键查看一下:redis列表键命令详解127.0.0.1:6379>RPUSHlist1251000"redis""quicklist"(integer)127.0.0.1:6...

redis源码之压缩列表ziplist

压缩列表ziplist1.简介连续,无序的数据结构。压缩列表是Redis为了节约内存而开发的,由一系列特殊编码的连续内存块组成的顺序型(sequential)数据结构。2.组成属性类型长度用途zlbytesuint_32t4B记录整个压缩列表占用的内存字节数:在对压缩列表进行内存重分配,或者计算zlend的位置时使用z...

Redis源码剖析--列表t_list实现

Redis中的列表对象比较特殊,在版本3.2之前,列表底层的编码是ziplist和linkedlist实现的,但是在版本3.2之后,重新引入了一个quicklist的数据结构,列表的底层都由quicklist实现。这边是在看源码和实际验证的时候发现的区别,然后上网查证。由于目前使用的redis基本都在3.2了,而且老版...

关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁

首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm或者说应用中,我们很容易去处理控制,在jdkjava.util并发包中已经为我们提供了这些方法去加锁,比如synchronized关键字或者Lock锁,都可以处理。...

redis的持久化方式RDB和AOF的区别

1、前言最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据。由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是...

关于redis,学会这8点就够了

1,redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSIC语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。 2,支持的语言 3,redis的应用场景有哪些1,会话缓存(...

redis 进阶

1、一定要设置最大缓存大小并设置缓存策略  如果不设置最大缓存,在新添加数据时,如果超过最大内存回事redis崩溃!  设置方式:maxmemory1GB  使用redis-cli登录后,使用info命令查看内存情况:    #Memory    used_memory:882920    used_memory_hu...
代码星球·2020-08-12

分布式锁与实现(一)——基于Redis实现

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partitiontolerance),最多只能同时满足两项。&rd...

分布式锁的几种使用方式(redis、zookeeper、数据库)

Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费synchronizedlockdblockQ:两个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费分布式锁我们需要怎么样的分布式锁?可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一...

redis master配置了密码进行主从同步

1.如果master不设置密码,那么直接在slave服务器配置slaveof即可配置如下#slaveofip端口slaveof221.224.85.1866379 配置好我们看下redis的日志看是否同步成功5014:S25Jan10:53:53.667*ConnectingtoMASTER221.224.85.186...

django-redis 中文文档

AndreyAntukh, niwi@niwi.be 4.7.0翻译: RaPoSpectredjango-redis基于BSD许可,是一个使Django支持Rediscache/session后端的全功能组件.1.1为何要用django-redis?因为:持续更新本地化的redis-py...
代码星球·2020-08-11

自定义redis session

1.用户系统类这里模拟一个蹩脚的用户系统类(userSystem),如下:#coding=utf-8#Redis实现用户系统__author__='beginman'importredisimportdatetimeimporthashlibr=redis.StrictRedis(host='localhost',po...
代码星球·2020-08-11

Django中redis的使用方法(包括安装、配置、启动)

一、安装redis:1.下载:wgethttp://download.redis.io/releases/redis-3.2.8.tar.gz2.解压tar-zxvfredis-3.2.8.tar.gz3.复制,放到/usr/local目录下sudomv./redis-3.2.8/usr/local/redis4.进入...

几分钟搞定redis存储session共享——设计实现

前面我们写过C#在redis中存储常用的5种数据类型demo,没看过的可以点击电梯直达:https://www.cnblogs.com/xiongze520/p/10267804.html我们上一篇说到Windows7系统中使用nginx部署服务器集群:https://www.cnblogs.com/xiongze52...