随笔分类 -  09 Nosql-redis

摘要:客户端C2使用SETNX命令获取锁 假设客户端C1已经崩溃但是仍然持有锁,所以Redis返回false给客户端C2 客户端C2使用GET命令获取锁并检查锁是否已经过期,如果没有过期,则继续等待一段时间并重新重试 如果锁已经过期,客户端C2尝试 GETSET lock.name <current Un 阅读全文
posted @ 2020-04-13 01:51 panchanggui 阅读(3173) 评论(0) 推荐(0) 编辑
摘要:Redis是线程安全的吗? Redis是个单线程程序,所以它是线程安全的。 Redis单线程为什么还能这么快? Redis是基于内存的,内存的读写速度非常快; Redis是单线程的,避免了不必要的上下文切换和竞争条件; Redis使用多路复用技术,可以处理并发的连接。非阻塞I/O内部实现采用epol 阅读全文
posted @ 2020-03-30 13:02 panchanggui 阅读(4947) 评论(0) 推荐(0) 编辑
摘要:1. 参考的优秀文章 Request/Response protocols and RTT 2. 来源 原来,系统中一个树结构的数据来源是Redis,由于数据增多、业务复杂,查询速度并不快。究其原因,是单次查询的数量太多了,一个树结构,大概要几万次Redis的交互。于是,尝试用Redis的Pipel 阅读全文
posted @ 2018-10-30 19:19 panchanggui 阅读(12724) 评论(0) 推荐(2) 编辑
摘要:一、key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *、?、[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 (4)exists key:判断某个key是否存在 (5)del key:删除key (6)renam 阅读全文
posted @ 2018-10-25 19:13 panchanggui 阅读(917) 评论(0) 推荐(0) 编辑
摘要:keys pattern 查询相应的key 在redis里,允许模糊查询key 有3个通配符 *, ? ,[] *: 通配任意多个字符 ?: 通配单个字符 []: 通配括号内的某1个字符 redis 127.0.0.1:6379> flushdb OK redis 127.0.0.1:6379> k 阅读全文
posted @ 2018-10-25 19:11 panchanggui 阅读(79044) 评论(0) 推荐(3) 编辑
摘要:一般情况下,Redis Client端发出一个请求后,通常会阻塞并等待Redis服务端处理,Redis服务端处理完后请求命令后会将结果通过响应报文返回给Client。这有点类似于HBase的Scan,通常是Client端获取每一条记录都是一次RPC调用服务端。在Redis中,有没有类似HBase S 阅读全文
posted @ 2018-10-25 11:08 panchanggui 阅读(2026) 评论(0) 推荐(1) 编辑