Redis常用命令

说明:数据库是项目中的基石,如果每一个请求都去访问数据库,会陡然增加数据库的压力,增加系统崩溃的风险。解决问题的方向有两个,一个是增加数据库,另一个就是减少对数据库的直接访问,做到没有必要,不访问数据库,这就是Redis的使用场景。Redis可以将数据存入到内存中,大大增加数据访问的速度。在项目中,可以先从Redis中取数据,Redis中没有再访问数据库。

下载安装

可从官网中下载(官网:https://redis.io/,中文网:https://www.redis.net.cn/),推荐下载稳定版
在这里插入图片描述

下载完成后,解压到一个没有中文的路径下,双击启动redis-server.exe,启动Redis服务,弹出以下界面,表示启动成功。需要知道的是,Redis默认使用的是6379端口,如果启动失败的话,需要考虑端口是否被其他应用所占用。

在这里插入图片描述

使用

Redis是非关系型数据库,是以“key-value”(key是String类型)的方式存储数据的,不存在数据库、表、字段、约束的概念,有即存即用的特点。在Redis目录中,双击打开客户端窗口,就可以使用。注意前面打开的启动窗口(redis-server.exe)不要关掉,关掉就表示停止Redis服务。
在这里插入图片描述

Redis中,有以下五种数据类型,在客户端窗口中可以输入对应的命令来操作:

字符串(String):普通字符串,Redis中最简单的数据类型;

哈希(hash):也叫散列,类似于Java中的HashMap;

列表(list):按照插入顺序排序,元素可重复,类似Java中的LinkeList;

集合(set):无序集合,元素不可重复,类似Java中的HashSet;

有序集合(sorted set/zset):集合中的每一个元素关联一个分数(score),按照分数生序排序,元素不可重复;

字符串操作命令

set key value:添加一个永久Key到Redis的内存中;如果Key已经存在,也会添加成功并且覆盖之前的value;

在这里插入图片描述
在这里插入图片描述
get key:从Redis中获取一个key对应的值 如果有值就返回值,没有key就返回nil;

在这里插入图片描述

setex key seconds value:添加一个有时效性的key到Redis中,单位是秒;

在这里插入图片描述

setnx key value:如果key不存在就可以添加成功,如果已存在就会返回0;

在这里插入图片描述

哈希操作命令

hset key field value:将哈希表key中的字段field的值设为value
在这里插入图片描述

hget key field:获取存储在哈希表中指定字段的值
在这里插入图片描述

hgetall key:获取哈希表的所有值
在这里插入图片描述

hdel key field:删除存储在哈希表中的指定字段

在这里插入图片描述

hkeys key:获取哈希表中所有字段

在这里插入图片描述
hvals key:获取哈希表中所有值

在这里插入图片描述

需要知道,哈希表中的值不能被覆盖,不允许对一个字段重复赋值

在这里插入图片描述

列表操作命令

lpush key value1 value2 value3 … :将一个或多个值从左边推入到列表中;

在这里插入图片描述

rpush key value1 value2 value3 … :将一个或多个值从右边推入到列表中,这样输入/输出的顺序就是一致的;

在这里插入图片描述

lrange key start stop:获取列表指定范围内的元素,-1表示最后一个元素

在这里插入图片描述

rpop key:移除并获取列表最后一个元素
在这里插入图片描述

llen key:获取列表长度;

在这里插入图片描述

brpop key timeout seconds:弹出列表的最后一个元素,如果列表没有元素,会阻塞列表直到等待超时或发现可弹出元素为止(可以打开两个客户端测试)

在这里插入图片描述

lrem key 删除个数 删除元素:删除个数可以为正数或者负数,正数为从左边起的几个,负数为从右边起的几个;

在这里插入图片描述

集合操作命令

sadd key value1 value2 …:向集合添加一个或多个成员;

smembers key:返回集合中的所有成员;

scard key:获取集合的成员数;

在这里插入图片描述

srem key member1 member2:移除集合中一个或多个成员;

在这里插入图片描述

sinter key1 key2:返回给定所有集合的交集;

sunion key1 key2:返回所有给定集合的并集;

在这里插入图片描述

有序集合操作命令

zadd key score1 member1 score2 member2:向有序集合中添加一个或多个成员;

zrange key start stop:通过索引区间返回有序集合中指定区间内的成员;

在这里插入图片描述

zincrby key increment member:有序集合中对指定成员的分数加上增量,增量可以是正数或负数;

在这里插入图片描述

zrem key member1 member2 …:移除有序集合中的一个或多个成员;

在这里插入图片描述

通用操作命令

keys *:查找Redis中的所有key值;

在这里插入图片描述

del key :根据key删除对应的数据;
在这里插入图片描述

exists key:检查给定key是否存在;

在这里插入图片描述

clear:清屏;

在这里插入图片描述

ttl key:查看一个key的存活剩余时间;

在这里插入图片描述

总结

应该考虑到,存入到Redis中的数据,是没有修改需求的,不然仅靠Redis提供的命令或者Java中的API来修改Redis中的数据,是非常麻烦的,命令远不及SQL语句强大。


【string命令】

set key value:添加数据;

get key:获取数据;

setex key seconds value:添加有时效性的数据;

setnx key value:添加数据,如果不存在添加成功,存在添加失败;


【hash命令】

hset key field value:添加数据;

hget key field:获取指定字段的值;

hgetall key:获取所有值(key+value);

hdel key field:删除指定字段的值;

hkeys key:获取所有key;

hvals key:获取所有值;


【list命令】

lpush key value1 value2 value3 … :添加数据;

lrange key start stop:获取指定范围的数据;

rpop key:弹出最后一个元素;

llen key:获取列表长度;

brpop key timeout seconds:弹出最后一个元素,没有元素的话则等待,直至超时或列表中存入元素;

lrem key 数量 元素:删除元素,数量为负数表示从右边开始,正数表示从左边开始;


【set命令】

sadd key value1 value2 …:添加元素;

smembers key:获取所有元素

scard key:获取元素的数量;

sinter key1 key2:返回给定所有集合的交集;

sunion key1 key2:返回所有给定集合的并集;

srem key member1 member2:删除元素;


【zset命令】

zadd key score1 member1 score2 member2:添加元素;

zrange key start stop:获取指定范围的元素;

zincrby key increment member:指定元素增加增量,增量可以是正数或负数;

zrem key member:删除元素;


【通用命令】

del key :删除数据;

keys *:查找所有key;

exists key:检查key是否存在;

ttl key:查看key的剩余存活时间;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何中应

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值