![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
无始之名
Nothing is better than reading code.
展开
-
认识redis的数据结构
结构类型 结构存储的值 结构的读写能力 string 可以使字符串,整数,浮点数 对于整个字符串或者字符串其中的一部分执行操作;对整数和浮点数执行自增(increment)或者自减(decrement)操作 list 一个链表,链表上的每个节点都包含了一个字符串 从链表的两端推入或弹出元素;根据偏移量对量表进行修剪(trim);读取单个或多个元素;根据值查找或者删除元素原创 2016-03-11 16:25:05 · 957 阅读 · 0 评论 -
使用Redis实现分布式锁
原文链接:http://www.dubby.cn/detail.html?id=9067加锁 网上大部分建议都是使用SETNX,这个本身没有什么问题,因为低版本的Redis中,只有这个命令可以互斥的Set一个Key。但是随着Redis版本的升高,提供了更多的命令来更好的满足我们的需求。SETSET key value [EX seconds] [PX milliseconds] [NX|XX]原创 2017-12-03 15:56:01 · 540 阅读 · 2 评论 -
Redis淘汰机制(Eviction policies)
首先,需要设置最大内存限制maxmemory 100mb选择策略maxmemory-policy noeviction解释: noeviction:默认策略,不淘汰,如果内存已满,添加数据是报错。 allkeys-lru:在所有键中,选取最近最少使用的数据抛弃。 volatile-lru:在设置了过期时间的所有键中,选取最近最少使用的数据抛弃。 allkeys-random: 在所有键中,随原创 2016-07-13 18:04:53 · 13049 阅读 · 0 评论 -
Redis-Cluster入门
知识准备1、官方推荐至少3个master,3个slave,这样可以让数据冗余1份。 2、每个Node(节点)需要两个TCP的端口,一个用作服务(the client port),一个用作节点间的bus(the cluster bus port),默认情况下bus port = client + 10000。 3、Redis采用master-slave模式,如果集群只有master,A,B,C的话原创 2016-07-13 17:17:55 · 1218 阅读 · 0 评论 -
redis之发布与订阅(publish/subscribe模式)
发布与订阅(publish/subscribe)模式,简称为pub/sub模式,redis也实现了这种模式。redis提供的发布订阅命令 命令 用例和描述 subscribe subscribe channel [channel …] 订阅一个或多个频道 unsubscribe unsubscribe [channel [channel …]] 退订频道,如果没有指定频道,则退原创 2016-04-24 12:30:11 · 34693 阅读 · 1 评论 -
redis稍微高级一点的操作
字符串字符串可以存三种类型的值:字节串,整数,浮点数redis中自增命令和自减命令 命令 用例和描述 incr incr key-name 将键存储的值加1 desc desc key-name 将键存储的值减1 incrby incrby key-name amount 加上amount数 descby descby key-name amount 减去amo原创 2016-04-24 12:12:35 · 9661 阅读 · 0 评论 -
redis之数据安全与性能保障
持久化选项dir ./快照持久化(snapshotting)存储所有数据到磁盘 常见的配置:save 60 1000stop-writes-on-bgsave-error nordbcompression yesdbfilename dump.rdb创建快照有这么几种方法: 1,bgsave命令,会fork出一个进程 2,save命令,会造成在完成前,客户端是去响应 3,配置save项原创 2016-04-25 18:12:04 · 5526 阅读 · 2 评论 -
redis之过期时间
命令 实例和命令 persist persist key-name 移除键的过期时间 ttl ttl key-name 查看键的过期时间还有多少秒 expire expire key-name seconds 设置过期时间 expireat expireat key-name timestamp 设置过期时间,UNIX时间戳 pttl pttl key-na原创 2016-04-25 17:58:54 · 9427 阅读 · 1 评论 -
redis之事物(基础篇)
redis有5个命令可以让用户在不被打断的情况下对多个键执行操作,分别是watch,multi,exec,unwatch,discard。本文只介绍multi和exec命令。什么是redis的基本事物redis的基本事物需要用到multi和exec,这个命令可以让一个客户端在不被其他客户端打扰的情况下执行多个命令。和关系型数据库那种可以在事务中回滚不同,在redis中,被multi和exec包裹原创 2016-04-25 10:50:56 · 906 阅读 · 0 评论 -
redis基本操作
本文只介绍,最基本操作。虽然,这些基本操作已经可以解决很多问题,但是请记住redis并没有止步于此! 结构类型 操作 string get:获取指定键对应的值,set:设置指定键的值,del:删除指定键对应的值(适用于所有元素) list rpush:插入链表右端lrange:获取给定范围的所有值(-1:最后一个)lindex:获取指定位置的单个元素lpop:从最左边弹出一个值原创 2016-03-11 16:52:32 · 815 阅读 · 0 评论 -
自己动手写一个Redis客户端
原文链接:https://www.dubby.cn/detail.html?id=9121使用JavaFX,不依赖任何其他依赖,实现的一个简单的Redis客户端,编写的初衷是觉得Redis Desktop Manager太难用,并且Redis的RESP比较简单,所以这里就尝试着写了下RESPREdis Serialization Protocol,这里给出官方的文档链接。为啥Redis要...原创 2018-12-28 10:10:01 · 668 阅读 · 1 评论