redis
文章平均质量分 89
俯仰天地
AI Compiler Leaner
展开
-
Jedis远程连接redis-server出现错误解决方法
今天用jedis远程连接redis的时候报错:redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host xxx.xxx.xxx.xxx:6379连接失败,网上查到和配置文件里的某个配置有关系,所以打算去官网查看一下配置文件的官方文档Redis is able to start without a configuration file using a built-in default con原创 2021-09-25 15:58:56 · 1368 阅读 · 2 评论 -
深入理解redis底层数据结构之跳跃表
跳跃表(skipList) 跳跃表是redis中独有的数据结构,在了解它之前,我们先来回顾一下普通的有序链表。 在一串有序链表中,如果我们要查找某个值,我们只能从头节点依次向后遍历直到找到目标值为止。如果目标值位置靠前还可以接受,但如果在链表后半段甚至刚好的最后一个,那么我们就需要遍历整个列表才能找到它了。时间复杂度是O(n)。 这样的特性主要是取决于链表的结构特性,每次只能向后跨一步来寻找。那么如果我们能否对此步骤进行改进,让不相邻的节点之间也存在某种方式可以到达,每次向后跨两步、三步、四步原创 2021-09-23 14:24:15 · 388 阅读 · 2 评论 -
深入理解redis之事务与乐观锁的实现
事务:要么同时成功,要么同时失败。事务的特性:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行。且不会被其他事务所打断。一组事务中的所有操作,要么全部被执行,要么全部不执行。redis单条命令保证原子性,但不保证事务原子性。Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接执行,只有发起执行命令的时候才会执行!redis的事务流程:开启事务( )命令入队( )执行事务( )multi:开启事务:进入事务状态,之后输入的所有命令都会原创 2021-09-21 21:42:43 · 297 阅读 · 0 评论 -
深入理解redis底层结构之SDS
SDS(Simple Dynamic String) 即简单动态字符串,是redis自定义的数据结构。 首先介绍一下几个基本概念:柔性数组:在结构体中最后一个成员允许是未知大小的数组,这就叫做柔性数组成员二进制安全:C语言中用"\0"表示字符串的结束,如果字符串中本身就有"\0"这个字符,字符串就会被截断,这是非二进制安全。反过来,如果通过某种机制保证读写字符串是不会使其内容被截断或损坏,就称为二进制安全。特性:柔性数组成员前面必须至少有一个其他成员。sizeof返回的结构体内存原创 2021-09-21 10:38:00 · 753 阅读 · 0 评论 -
深入理解redis之特性简介与性能测试工具redis-benchmark
什么是redisRedis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LR原创 2021-09-20 19:07:20 · 303 阅读 · 0 评论 -
5种IO模型详解(select、poll、poll)
五种I/O模型同步阻塞IO模型(BlockIng IO)同步非阻塞IO模型(Non-blockIng IO )多路复用IO模型(IO Multiplexing )异步IO(Asynchronous IO)信号驱动IO模型首先,我们需要明确几个基础概念:同步:操作系统种的概念:是指必须在先行条件满足之后才能开始执行某一任务。在这里主要是指在触发了IO操作之后必须等待IO操作完成,才能执行接下来的任务。有同步阻塞和同步非阻塞之分。异步:是指可以和某一个任务同时进行,互不干扰。在这里主要是指出原创 2021-09-20 19:06:45 · 374 阅读 · 0 评论 -
深入理解Redis 底层数据结构之QuickList与 ZipList
深入理解Redis List队列底层数据结构centos7安装redis6.25结合docker镜像配置方法(附redis.conf文件)list底层的数据结构:linkedList 链表zipList 压缩列表quickList 快链表链表:LinkedList数据结构中常用的带头节点的双向链表,并且带有指向头节点的头指针和指向最后一个节点的尾指针,双向链表保证从任意一个位置可以向前或者向后进行遍历,但要注意头节点的前指针为null,尾原创 2021-09-20 13:16:09 · 567 阅读 · 1 评论 -
centos7安装redis6.25结合docker镜像配置方法(附redis.conf文件)
1.普通安装与启动centos7安装redis6.2.5下载解压安装包:wget http://download.redis.io/releases/redis-6.2.5.tar.gztar -zvxf redis-6.2.5.tar.gz安装并指定安装目录:cd redis-6.2.5makemake install PREFIX=安装目录启动:前台启动:cd /usr/local/redis/bin ./redis-server后台启动//备份配置文件c原创 2021-09-19 19:34:00 · 483 阅读 · 0 评论