随笔 - 168  文章 - 1  评论 - 1  阅读 - 19万

随笔分类 -  redis

redis list 分片 当redis的list数据量比较大时采用分片处理
摘要:for v in pairs(ARGV) do redis.debug(ARGV[v])endredis.debug(redis.call("GET",KEYS[1])) local function slice(list_key,argv_list) local type_result = red 阅读全文
posted @ 2020-10-19 20:59 paulversion 阅读(2421) 评论(0) 推荐(0) 编辑
redis 服务器
摘要:Redis服务器负责与多个客户端建立网络连接,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并通过资源管理来维持服务器自身的运转 命令请求的执行过程 set key value 那么从客户端发送set key value 命令到获得回复ok期间,客户端和服务器共需要执行以下操作 阅读全文
posted @ 2018-01-20 15:01 paulversion 阅读(1154) 评论(0) 推荐(0) 编辑
redis事件
摘要:Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件 1:文件事件(file event):Redis服务器通过套接字与客户端进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作 2:时间事件( 阅读全文
posted @ 2018-01-19 01:08 paulversion 阅读(465) 评论(0) 推荐(0) 编辑
redis AOF持久化
摘要:除了RDB持久化功能之外,Redis还提供了AOF(Append Only File)持久化功能。与RDB持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的 例如 set msg hello,RDB持久化保存数据库状态的方法是将 阅读全文
posted @ 2018-01-18 01:36 paulversion 阅读(151) 评论(0) 推荐(0) 编辑
redis RDB持久化
摘要:为了避免数据意外丢失,Redis提供了RDB持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面。 RDB持久化可以手动执行,也可以根据服务器配置选项定期执行,该功能可以将某个时间点上的数据库状态保存到一个RDB文件中 RDB文件的创建与载入 有两个Redis命令可以用于生成RDB 阅读全文
posted @ 2018-01-18 00:37 paulversion 阅读(174) 评论(0) 推荐(0) 编辑
redis 数据库
摘要:Redis服务器默认会创建16个数据库 切换数据库 每个redis客户端都有自己的目标数据库,每当客户端执行数据库写命令或者数据库读命令的时候,目标数据库就会成为这些命令的操作对象。默认情况下Redis客户端的目标数据库为0号数据库,但客户端可以通过执行select命令来切换目标数据库。到目前为止, 阅读全文
posted @ 2018-01-10 23:43 paulversion 阅读(239) 评论(0) 推荐(0) 编辑
redis 对象
摘要:redis包含5种对象 字符串对象、列表对象、哈希对象、集合对象和有序集合对象 redis的对象系统实现了基于引用计数技术的内存回收机制、当程序不再使用某个对象的时候,这个对象所占的内存就会被自动释放Redis 通过引用计数实现了对象共享机制,多个数据库键共享同一个对象来节约内存。 Redis使用对 阅读全文
posted @ 2018-01-05 17:58 paulversion 阅读(1271) 评论(0) 推荐(0) 编辑
redis 底层数据结构 压缩列表 ziplist
摘要:压缩列表是列表键和哈希键的底层实现之一。当一个列表键只包含少量列表项,并且每个列表项要么就是小整数,要么就是长度比较短的字符串,redis就会使用压缩列表来做列表键的底层实现 当一个哈希键只包含少量键值对,并且每个键值对的键和值要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩 阅读全文
posted @ 2018-01-05 13:30 paulversion 阅读(5650) 评论(0) 推荐(0) 编辑
redis 底层数据结构 整数集合intset
摘要:整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时Redis就会使用整数集合作为集合键的底层实现 整数集合是Redis用于保存整数值的集合抽象数据结构,它可以保存类型为int_16,int_32,int_64的整数值并且保证集合中不会出现重复元素 content 阅读全文
posted @ 2018-01-05 10:58 paulversion 阅读(432) 评论(0) 推荐(0) 编辑
redis 有序集合数据结构实现 skiplist
摘要:Redis使用跳跃表作为有序集合键的的底层实现,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时Redis就会使用跳跃表 来作为有序集合键的底层实现 Redis只在两个地方用到了跳跃表,一个是实现有序集合键,另一个是在集群节点中用作内部数据结构 跳跃表的数据结构为 阅读全文
posted @ 2018-01-04 18:25 paulversion 阅读(5407) 评论(0) 推荐(1) 编辑
redis字典的底层实现hashTable
摘要:Redis的字典使用哈希表作为底层实现。一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对 哈希表的数据结构为 table属性是一个数组,数组中的每个元素都是指向dictEntry结构的指针,每个dictEntry结构保存着一个键值对,size属性记录了table的大小 阅读全文
posted @ 2018-01-04 16:17 paulversion 阅读(4763) 评论(0) 推荐(2) 编辑
redis 列表的底层数据结构链表
摘要:当一个列表键包含了数量比较多的元素,又或者列表中包含的的元素都是比较长的字符串,Redis就会使用链表作为列表键的底层实现 每个列表节点的数据结构为 列表数据接口中保存了 该节点前置节点的指针、后置节点的指针、和当前节点值的指针 如果值为字符串则指向sds数据结构 列表数据结构 head 为头指针指 阅读全文
posted @ 2018-01-04 14:41 paulversion 阅读(211) 评论(0) 推荐(0) 编辑
redis string底层数据结构sds
摘要:redis的string没有采用c语言的字符串数组而采用自定义的数据结构SDS(simple dynamic string)设计 len 为字符串的实际长度 在redis中获取字符串的key长度的时间复杂度为O(1) free 为 buf数组中剩余的空间大小 buf 保存字符串的数组 使用free杜 阅读全文
posted @ 2018-01-04 14:21 paulversion 阅读(645) 评论(0) 推荐(0) 编辑
redis和memcache的区别
摘要:redis是单进程单线程,memcache 是单进程多线程 阅读全文
posted @ 2017-10-10 13:54 paulversion 阅读(136) 评论(0) 推荐(0) 编辑
批量删除redis某个键值
摘要:/usr/local/redis/src/redis-cli -h 172.28.6.23 -p 6383 keys "virtual*" |xargs /usr/local/redis/src/redis-cli -h 172.28.6.23 -p 6383 del 阅读全文
posted @ 2017-09-08 14:08 paulversion 阅读(2295) 评论(0) 推荐(0) 编辑
利用redis + lua解决抢红包高并发的问题
摘要:转载自 http://blog.csdn.net/hengyunabc/article/details/19433779/ 抢红包的需求分析 抢红包的场景有点像秒杀,但是要比秒杀简单点。因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包 阅读全文
posted @ 2017-07-07 15:29 paulversion 阅读(216) 评论(0) 推荐(0) 编辑
抢红包的红包生成算法
摘要:转载自http://blog.csdn.net/hengyunabc/article/details/19177877 过年微信红包很火,最近有个项目也要做抢红包,于是写了个红包的生成算法。 红包生成算法的需求 预先生成所有的红包还是一个请求随机生成一个红包 简单来说,就是把一个大整数m分解(直接以 阅读全文
posted @ 2017-07-07 15:27 paulversion 阅读(867) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示