redis事务
简介可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞作用在一个队列中,一次性,顺序性,排他性的执行一系列命令开启事务示例remoteSelf:1>multi"OK"remoteSelf:1>set k1 v1"QUEUED"remoteSelf:1>set k2 v2"QUEUED"remoteSelf:1>get k1"QUEU...
2024-01-10redis整理
RedisRedis是一个key-value存储系统。Redis支持五种数据类型:string(字符串)list(列表)hash(hash表)set(集合)zset(有序集合)和memcached类似,redis支持的数据类型更丰富、数据能持久化。memcached把数据全部存储在内存中,断电后会挂掉,数据不能超过内存大小。而redis`数据会定期备份到硬盘上...
2024-01-10redis学习
邻近年底,决定辞职,自认为即使没有找到很满意的工作,也应该不会差。事实是有点自信回头,虽然找到了工作,但途中也受到了打击,不得不承认学习的激情不知何时,渐渐熄灭。直到认识一个女生,她让我对未来充满着信心。曾今何时,也在这写过一些技术笔记,如今已烟消云散,昨日已去,...
2024-01-10redis初识
redis介绍redis是什么redis是一种基于键值对的NOsql数据库,与很多键值对数据库不同,redis中的值string,hash,list,set,zset,geo等多种数据机构和算法组成,因为redis会将所有的数据都放在内存中,所以他的读写性能非常惊人,不仅如此,redis还可以将内存中的数据利用快照和日志的形式保存在硬盘上,redis还提供了键过期...
2024-01-10redis笔记
//redis类型介绍//获取数据$lotterylRedis = Redis::getInstance()->redisGet($key);//有效期时间$key = "Kaijang:lottery:frequency:simplehtml:" . $lotteryType;Redis::getInstance()->redisSet($key, json_encode($data), 60*10);//无时间 $key = "$sys:everyday:task:tate"; $memb...
2024-01-10Redis
NoSql (Not Only Sql) 非关系型数据库 行式存储数据库 一般的关系型数据库Mysql,Oracle,SqlServer等 列式存储数据库 Cassandra 文档型数据库 MongoDB key-value型数据库:Memcached 早期的NoSql数据库 数据在内存中,不能持久化 支持简单的key-value模式 一般作为缓存数据库 Redis ...
2024-01-10redis入门一
一、redis 简介1、什么是 redis? redis 是一个开源免费的高性能的 key - value 数据库。 支持数据持久化,即可以将内存的数据存储在磁盘中,重启服务后可以再次加载磁盘中的数据并使用。 支持多种类型,比如:String(字符串)、List(列表)、Set(集合)、zset(有序集合)、Hash(散列) 等...
2024-01-10redis队列实现
@Component public class RedisClient { private static Logger logger = LoggerFactory.getLogger(RedisClient.class); @Autowired private RedisTemplate<Object, Object> redisTemplate; /** ---------------------------------- redis消息队列 ----------------...
2024-01-10redis笔记03
Redis数据类型Redis 数据类型redis支持种数据类型 :string(字符串)hash(哈希)list(列表)set(集合)zset(sorted set:有序集合)String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或...
2024-01-10redis热点问题
高性能:假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应...
2024-01-10redis核心特性
Redis 概念redis 基于内存存储的数据库,具有内存数据缓存和消息队列等功能,数据类如下:String 存储常用的数据类型 set key value ex 5s set key value px 5000ms get key 批量操作 mset key value key1 values1 ... mget key key1 incr key --整形自增 incr key value --按照value 自增 decr key --整形自减 incrbyfloat --fl...
2024-01-10redis基础学习
redisRedis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件yum安装redis1.yum安装#前提得配置好阿里云yum源,epel源#查看是否有redis包yum list redis#安装redisyum install redis -y#安装好,启动redissystemctl start redis2.检测redis是否工作redis-cli #redis 客户端工具#进入...
2024-01-10Redis位图
关于位图,可能大家不太熟悉,那么位图能干啥呢?位图的内容其实就是普通的字符串,也就是byte数组,我们都知道byte8 位无符号整数0 到 255说个场景。比如你处理一些业务时候,往往会存在 是或者不是 这样的数据,那么这种数据还是频繁去查看和请求,从数据方面和请求次数方面都是非常...
2024-01-10初识Redis
初识RedisNoSQL是什么?数据库: 用来存储数据的仓库NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库为什么需要NoSQL?解决了高并发的读写问题解决了海量数据的高效率存储和访问问题实现了高可用性及高可扩展性Redis是什么?是由C语言开发的一款开源的、高性...
2024-01-10Redis主从
Redis主从主从必读事项通过主从配置可以实现读写分离(从机默认只读)slave首次启动或者重启连接到master时,会导致主库bgsave。这一点可以通过Redis的debug日志看得到设置主从后,首次部署从库是增量同步的,原本数据将被全部清掉master可以拥有多个slave多个slave可以连接同一个master外,还可以连接到其他...
2024-01-10关闭Redis
今天,我第一次在本地计算机上启动Redis,然后在关闭Rails应用程序后关闭了所有终端窗口。一个小时后,我再次启动Rails应用程序,并执行以下操作来启动Redis服务器redis-server /usr/local/etc/redis.conf但是,它告诉我# Opening port 6379: bind: Address already in use因此,即使关闭了Mac上的终端窗口,我也认为它仍...
2024-01-10redis的基础知识
select切换数据库remoteSelf:0>select 0"OK"dbsize查看当前数据库的key数量remoteSelf:0>dbsize"2"keys查看所有的keyremoteSelf:0>keys * 1) "SUBCRIBEMAP" 2) "test"flushdb删除当前库所有的keyflushall删除所有库所有的keyredis索引都是从0开始默认端口是6379...
2024-01-10redis实现简单队列
在工作中,时常会有用到队列的场景,比较常见的用rabbitMQ这些专业的组件,官网地址是:http://www.rabbitmq.com,重要的是官方有.net的客户端,但是如果对rabbitMQ不熟悉的话,建议使用第三方封装好的 EasyNetQ,rabbitMQ比较适合对安全性,稳定性要求较高的地方,但有时我们也会有对这方面要求不是很高的场...
2024-01-10redis详解(1)特性
redis 是什么开源的基于键值的存储服务系统,支持多种数据结构,高性能、功能丰富redis 特性速度快(10w OPS)数据存储内存中C 语言编写单线程模型持久化redis 所有数据保存在内存中,对数据更新将异步保存到磁盘(ADB,ROF)多种数据结构strings/blobs/bitmapshash tableslinked listssetssorted setsbit...
2024-01-10Redis新旧复制
在Redis中,用户可以通过执行SALVEOF命令,让一个服务器去复制另一个服务器。127.0.0.1:12345> SLAVEOF 127.0.0.1 6379OK6379的奴隶是12345。旧版复制功能实现Redis的复制功能分为同步(sync)和命令传播两个操作:同步:将从服务器更新为主服务器的状态。命令传播:在主服务器状态被修改,导致主从状态...
2024-01-10Redis字典实现
4.1 字典数据结构typedef struct dict{ //类型特定函数 dictType *type; //私有数据 void *privateata; //哈希表 dictht ht[2]; //rehash 索引,rehash未进行时,值为-1 int rehashidx;}dict;其中的type 是一个指向 dictType 结构的指针,每个 dictType 结构保存了一簇用于操作特定类型键值对的函数,Redis 会...
2024-01-10Redis链表实现
// 每个链表节点使用一个 ListNode 结构来表示typedef struct ListNode{ //前置节点 struct ListNode *prev; //后置节点 struct ListNode *next; //节点值 void *value;} ListNode; // typedef struct List{ //头节点 struct ListNode *head; //尾节点 struct ListNode *tail; ...
2024-01-10多个Redis实例
大多数人似乎建议在不同的端口(6379和6380)上运行单独的Redis实例。为什么在创建第二个数据库时更通常建议这样做?我还没有完全阅读文档,但是大多数示例在连接时并未真正提及“选择Redis数据库”。Ruby客户端的一个示例,nrk/ predis的自述文件:$redis = new Predis\Client(array( 'scheme' => 'tcp', 'host' ...
2024-01-10Redis事务(8)
例如我们之前说的用setnx实现分布式锁,我们先set,然后设置对key设置expire,防止del发生异常的时候锁不会被释放,业务处理完了以后再del,这三个动作我们就希望它们作为一组命令执行。Redis的事务有两个特点:按进入队列的顺序执行。不会受到其他客户端的请求的影响。Redis的事务涉及到四个命...
2024-01-10Redis的过期策略
1. 定时删除 在设置key的过期时间的同时,为该 key 创建一个定时器,让定时器在 key 的过期时间来临时对 key 进行删除。 优点:对内存友好 缺点:对 cpu 不友好2. 惰性删除 放任过期键不管,但每次从键空间中获取 key时都会检查该 key是否过期,过期就删除。 优点:对 cpu比较...
2024-01-10