
Redis
redis是一个key-value存储系统。基于内存存储,性能卓越,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)
李多肉同学
求知若饥 虚心若愚
展开
-
Redis 做分布式锁及Lua 脚本使用笔记
1. 基本用法问题场景:在单线程中,一个线程去修改用户的状态,首先从数据库中读出用户的状态,然后在内存中进行修改,修改完成后,再存回去。这个操作没有问题,但是在多线程中,由于读取、修改、存这是三个操作,不是原子操作,所以在多线程中,这样会出问题。我们可以使用分布式锁来限制程序的并发执行。原理:分布式锁实现的思路很简单,就是进来一个线程先占位,当别的线程进来操作时,发现已经有人占位了,就会放弃或者稍后再试。在 Redis 中,占位一般使用 setnx 指令,先进来的线城先占位,线城的操作执行完成后原创 2020-12-24 10:49:47 · 266 阅读 · 1 评论 -
Redis 的Java 客户端笔记整理
这里写目录标题开启远程连接Jedis (maven 篇) 基本使用三级目录开启远程连接redis 默认不支持远程连接,需手启:修改地方 (找到 config)把 bind:127.0.0.1 注释掉密码校验开启 (去掉 requirepass 注解 在 vim 搜索:/requirepass,加上自己的密码)ok 保存退出启redis。Jedis (maven 篇) 基本使用Jedis的Github地址:https://github.com/redis/jedis1、创建 maven原创 2020-12-23 14:11:42 · 153 阅读 · 0 评论 -
Redis 中通用命令 (key) 和补充
DEL删除一个 key / valueDUMP序列化给定的 keyEXISTS判断一个 key 是否存在TTL查看一个 key 的有效期【-1 表示永不过期,-2 表示已经过期】EXPIRE给一个 key 设置有效期,如果 key 在过期之前被重新 set 了,则过期时间会失效。PERSIST移除一个 key 的过期时间PTTL和 ttl 一样,只不过这里返回的是毫秒keys *查看所有的 key...原创 2020-12-14 15:40:08 · 168 阅读 · 0 评论 -
Redis 基本数据类型 (ZSet) 的操作命令
ZADD将指定的元素添加到有序集合中。ZSCORE返回 member 的 score 值ZRANGE返回集合中的一组元素。ZREVRANGE返回一组元素,但是是倒叙。ZCARD返回元素个数ZCOUNT返回 score 在某一个区间内的元素。ZRANGEBYSCORE按照 score 的范围返回元素。ZRANK返回元素的排名(从小到大)zrevrank返回元素的排名(从大到小)ZINCRBYscore 自增ZINTERSTORE给两个集合求交集,求原创 2020-12-14 15:03:36 · 844 阅读 · 0 评论 -
Redis 基本数据类型 (Hash) 的操作命令
在 Hash 结构中, key 是一个字符串, value 则是一个 key/value 键值对。HSET添加值。HGET获取值。HMSET批量添加。HMGET批量获取。HDEL删除一个指定的 fieldHsetnx默认情况下,如果 key 和 field 相同,会覆盖掉已有的 value ,hsetnx 则不会。Hvals获取所有的 valueHkeys获取所有的 keyHgetall同时获取 key 和 valueHEXISTS返回 field原创 2020-12-14 11:23:03 · 351 阅读 · 0 评论 -
Redis 基本数据类型(Set) 的操作命令
SADD添加元素到 key 中,添加的元素不可重复。SMEMBERS获取一个 key 下的所有元素SREM在 key 集合中移除指定的元素SISMEMBER返回某一个成员是否在集合中SCARD返回集合的数量SRANDMEMBER随机返回一个元素,[count] 是几就返回几个,不会删除元素SPOP随机返回并出栈( 删除 )一个元素。SMOVE把一个元素从一个集合移除到另一个集合中去。SDIFF返回两个集合的差集 (注意顺序)。SINTER返回两个集合的原创 2020-12-14 10:48:29 · 322 阅读 · 0 评论 -
Redis 基本数据类型 (List) 的操作命令
LPUSH表示 将 value 的值从左到右依次插入表头的位置。将所有指定的值插入到存于 key 的列表的头部。如果 key 不存在,那么在进行 push 操作前会创建一个空列表。如果 key 对应的值不是一个 list 的话,那么会返回一个错误。LRANGE返回列表指定区间内的元素(倒叙)RPUSH这个和 lpush 功能类似。不同的是 rpush 是从右往左依次插入表头的位置。向存于 key 的列表的尾部插入所有指定的值。RPOP移除并返回列表的尾元素。LPOP移除并返回列表的原创 2020-12-11 11:44:16 · 184 阅读 · 0 评论 -
Docker 安装Redis
CentOS7:1.查询镜像docker search redis2.拉取官方的镜像,(选stars最多的):docker pull redis3.查看一下是否成功:docker images4.启动镜像:docker run -p 6379:6379 -d redis:latest redis-server5.查看容器启动情况:...原创 2020-04-01 17:24:34 · 223 阅读 · 0 评论 -
Redis字符串(STRING)中BIT相关命令
BIT相关的命令是指BITCOUNT/BITFIELD/BITOP/BITPOS/SETBIT/GETBIT 几个命令,灵活使用这几个命令,可以给我们的项目带来很多惊喜。在学习这几个命令之前,我们得先了解下redis中字符串的存储方式,redis中的字符串都是以二进制的方式进行存储的,比如说我执行如下命令:a对应的ASCII码是97,转换为二进制数据是01100001,我们BIT相关...原创 2019-11-25 16:25:14 · 315 阅读 · 0 评论 -
Redis字符串(STRING)的操作命令
APPEND使用APPEND命令时,如果key已经存在,则会直接在value后追加值,如果key不存在,则会先创建一个value为空字符串的key,然后再追加:DECRDECR命令可以实现对value的减1操作,如果key不存在,则key对应的初始值会被置为0,如果key的value不为数字,则会报错,如下:DECRBYDECRBY和DECR类似,不同的是DECRBY...原创 2019-11-25 14:42:19 · 322 阅读 · 0 评论 -
Redis中的五种数据类型以及Key的相关命令简介
上篇文章我们介绍了如何在Linux(CentOS 7.x)中安装Redis,本文我们来了解下Redis中的五种数据类型。五大数据类型介绍redis中的数据都是以key / value的形式存储的,五大数据类型主要是指value的数据类型,包含如下五种:1.STRINGSTRING是redis中最基本的数据类型,redis中的STRING类型是二进制安全的,即它可以包含任何数据,比如...原创 2019-11-25 11:28:30 · 365 阅读 · 0 评论 -
Redis报错 : (error) NOAUTH Authentication required.
在安装Redis时遇到了这个问题,如下:这个错误是因为没有用密码登陆认证,输入密码就可以了(这里默认是123456)。如下:127.0.0.1:6379> auth 123456 然后 登录就行了,如下:如果输入密码后出现以下提示,而且忘记密码,那么就去redis.conf找回:(error) ERR invalid password进入编辑:...原创 2019-09-07 10:30:26 · 1216 阅读 · 0 评论 -
CentOS 7.x 安装Redis(极简)
环境配置:CentOS 7 / redis4.0.61.首先下载Redis,下载地址https://redis.io/,下载获得redis-4.0.6.tar.gz后将它放入我们的Linux目录/opt下。2./opt目录下,对文件进行解压,解压命令:tar -zxvf redis-4.0.6.tar.gz3.解压完成后出现文件夹:redis-4.0.6,进入到该目录中: cd re...原创 2019-09-07 09:51:50 · 145 阅读 · 0 评论 -
Redis 入门
1.简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 ...原创 2019-09-06 17:27:39 · 123 阅读 · 0 评论