redis是单线程 单线程给redis 带来了高效的性能和丰富的数据结构 1、基于内存操作 2、使用IO多路复用 3、单线程避免了cpu上下文切换 但是redis并不是完全单线程的,分为主线程和多个异步线程 比如redis 4.0 以后使用了unlink
2024年04月09日
redis是单线程 单线程给redis 带来了高效的性能和丰富的数据结构 1、基于内存操作 2、使用IO多路复用 3、单线程避免了cpu上下文切换 但是redis并不是完全单线程的,分为主线程和多个异步线程 比如redis 4.0 以后使用了unlink
2024年04月09日
Redis 支持的数据结构包括 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询,
2024年04月09日
一、 Redis简介 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
2024年04月09日
项目中业务数据基本上都是存在关系型数据库中,如:mysql,oracle,sqlServer等数据库,项目上线初期,由于用户规模还比较小,系统访问量不大。关系性数据库可以抗住并发较小的请求。随着业务的增长用户的增加系统整体的并发请求增大。关系型数据库处理能力跟不上,在对数据库做主从读写分离,分布式设计之前,引入缓存可以有效提高系统整体的并发。如:redis非关系型数据库。但是在使用缓存redis的时候也存在相应的问题:缓存穿透,击穿,雪崩,如果不注意会导致并发压力绕过缓存直接落在数据库上导致数据库阻塞,崩溃等问题。
2024年04月09日
为什么需要分布式锁 在聊分布式锁之前,有必要先解释一下,为什么需要分布式锁。 与分布式锁相对就的是单机锁,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来互斥以保证共享变量的正确性,其使用范围是在同一个进程中。如果换做是多个进程,需要同时操作一个共享资源,如何互斥呢?现在的业务应用通常是微服务架构,这也意味着一个应用会部署多个进程,多个进程如果需要修改MySQL中的同一行记录,为了避免操作乱序导致脏数据,此时就需要引入分布式锁了。
2024年04月09日
Redis中没有批量删除特定前缀key的指令,但我们往往需要根据前缀来删除,那么究竟该怎么做呢?可能你一通搜索后会得到下边的答案 redis-cli --raw keys "ops-coffee-*" | xargs redis-cli del 直接在linux下通过redis的keys命令匹配到所有的key,然后调用系统命令xargs来删除,看似非常完美,实则风险巨大
2024年04月09日
原创文章首发微信公众号「后端技术学堂」转载请先与我联系,点文末链接「了解更多」 今天就来说说高并发编程中redis分布式锁实现
2024年04月09日
来源公众号:码哥字节 来源:https://www.cnblogs.com/uniqueDong/p/16112224.html
2024年04月09日
我们知道,在Java单进程中,多线程的环境下,如果我们要操作一个共享变量,需要使用synchronized或者是JUC同步工具类才能保证线程安全。那么,多进程环境下,我们要怎样保证线程安全?前言