写在前面

  • java 操作 redis 太常见了,基本上有需要的系统,都会上缓存,缓存最好的就是本地缓存或者是远程缓存,本地缓存暂且不谈,远程缓存的话目前还是 Redis 最为火爆。

  • Redis 命令更注重的是实战性,哪怕你不了解 Redis 底层原理,但是也丝毫不影响你使用 Redis , 当然,java 语言肯定也是封装了操作 Redis 的工具类,但是封装只是为了更好的使用,作为一个开发人员,这些命令当然是越熟悉越好。

  • 我也见过很多人,学 Redis 学成了本末倒置,其实也不止是 Redis, 包括 MySQL 也是一样的,很多人就是用了一下 java 封装好的工具类,然后就直接去专研底层原理,当然也不是不可以,相反,在这个 java 开发遍地走,手写源码不如狗 的时代,你学会底层原理在面试的时候收益远远大于你会手敲这些基本的使用命令。毕竟忽悠面试官,拿到高工资才是我们追求的终极目标。

  • 但是平常对于这些常用命令,我们也要熟悉,不然哪天领导着急找你上服务器找些信息,这种简单的命令你还得当着领导的面子去百度,这面子上多少有些过不去。废话不多说了,万丈高楼平地起这句话大家都知道,趁着还没开始建高楼,趁早先把地给铲平咯。

这里也附上一个 Redis 的在线操作网站,网站上一些基本命令都是能进行实战的,蒸的很方便.

https://try.redis.io/

连接操作命令

  • ​ quit:关闭连接(connection)
  • ​ auth:简单密码认证
  • ​ help cmd: 查看cmd帮助,例如:help quit

持久化

  • ​ save:将数据同步保存到磁盘
  • ​ bgsave:将数据异步保存到磁盘
  • ​ lastsave:返回上次成功将数据保存到磁盘的Unix时戳
  • ​ shundown:将数据同步保存到磁盘,然后关闭服务

远程服务控制

  • ​ info:提供服务器的信息和统计
  • ​ monitor:实时转储收到的请求
  • ​ slaveof:改变复制策略设置
  • ​ config:在运行时配置Redis服务器

对value操作的命令

  • ​ exists(key):确认一个key是否存在
  • ​ del(key):删除一个key
  • ​ type(key):返回值的类型
  • ​ keys(pattern):返回满足给定pattern的所有key
  • ​ randomkey:随机返回key空间的一个
  • ​ keyrename(oldname, newname):重命名key
  • ​ dbsize:返回当前数据库中key的数目
  • ​ expire:设定一个key的活动时间(s)
  • ​ ttl:获得一个key的活动时间
  • ​ select(index):按索引查询
  • ​ move(key, dbindex):移动当前数据库中的key到dbindex数据库
  • ​ flushdb:删除当前选择数据库中的所有key
  • ​ flushall:删除所有数据库中的所有key

操作字符串String命令

  • ​ set(key, value):给数据库中名称为key的string赋予值value
  • ​ get(key):返回数据库中名称为key的string的value
  • ​ getset(key, value):给名称为key的string赋予上一次的value
  • ​ mget(key1, key2,…, key N):返回库中多个string的value
  • ​ setnx(key, value):添加string,名称为key,值为value
  • ​ setex(key, time, value):向库中添加string,设定过期时间time
  • ​ mset(key N, value N):批量设置多个string的值
  • ​ msetnx(key N, value N):如果所有名称为key i的string都不存在
  • ​ incr(key):名称为key的string增1操作
  • ​ incrby(key, integer):名称为key的string增加integer
  • ​ decr(key):名称为key的string减1操作
  • ​ decrby(key, integer):名称为key的string减少integer
  • ​ append(key, value):名称为key的string的值附加value
  • ​ substr(key, start, end):返回名称为key的string的value的子串

List

  • ​ rpush(key, value):在名称为key的list尾添加一个值为value的元素
  • ​ lpush(key, value):在名称为key的list头添加一个值为value的 元素
  • ​ llen(key):返回名称为key的list的长度
  • ​ lrange(key, start, end):返回名称为key的list中start至end之间的元素
  • ​ ltrim(key, start, end):截取名称为key的list
  • ​ lindex(key, index):返回名称为key的list中index位置的元素
  • ​ lset(key, index, value):给名称为key的list中index位置的元素赋值
  • ​ lrem(key, count, value):删除count个key的list中值为value的元素
  • ​ lpop(key):返回并删除名称为key的list中的首元素
  • ​ rpop(key):返回并删除名称为key的list中的尾元素
  • ​ blpop(key1, key2,… key N, timeout):lpop命令的block版本。
  • ​ brpop(key1, key2,… key N, timeout):rpop的block版本。
  • ​ rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

Set

  • ​ sadd(key, member):向名称为key的set中添加元素member
  • ​ srem(key, member) :删除名称为key的set中的元素member
  • ​ spop(key) :随机返回并删除名称为key的set中一个元素
  • ​ smove(srckey, dstkey, member) :移到集合元素
  • ​ scard(key) :返回名称为key的set的基数
  • ​ sismember(key, member) :member是否是名称为key的set的元素
  • ​ sinter(key1, key2,…key N) :求交集
  • ​ sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
  • ​ sunion(key1, (keys)) :求并集
  • ​ sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
  • ​ sdiff(key1, (keys)) :求差集
  • ​ sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
  • ​ smembers(key) :返回名称为key的set的所有元素
  • ​ srandmember(key) :随机返回名称为key的set的一个元素

Hash

  • ​ hset(key, field, value):向名称为key的hash中添加元素field
  • ​ hget(key, field):返回名称为key的hash中field对应的value
  • ​ hmget(key, (fields)):返回名称为key的hash中field i对应的value
  • ​ hmset(key, (fields)):向名称为key的hash中添加元素field
  • ​ hincrby(key, field, integer):将名称为key的hash中field的value增加integer
  • ​ hexists(key, field):名称为key的hash中是否存在键为field的域
  • ​ hdel(key, field):删除名称为key的hash中键为field的域
  • ​ hlen(key):返回名称为key的hash中元素个数
  • ​ hkeys(key):返回名称为key的hash中所有键
  • ​ hvals(key):返回名称为key的hash中所有键对应的value
  • ​ hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

Redis常用命令-实战篇的更多相关文章

  1. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  2. Redis快速起步及Redis常用命令大全

    本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...

  3. Redis常用命令代码实例集合

    //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth('12345 ...

  4. Redis常用命令

    Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...

  5. 第2讲 Redis常用命令与高级应用

    目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...

  6. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...

  7. redis redis常用命令及内存分析总结(附RedisClient工具简介

    redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...

  8. Redis常用命令与高级应用

    附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...

  9. redis配置密码 redis常用命令

    redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy   #requi ...

  10. redis常用命令及持久化机制

    redis  常用命令 查找redis服务文件 find / -name  redis-server 查找配置文件 find / -name redis.conf 启动服务时候,要指定配置文件 启动r ...

随机推荐

  1. influxdb 保留策略

    转载请注明出处: InfluxDB 中的保留策略用于定义时间序列数据在数据库中的保留期限.保留策略决定了数据在 InfluxDB 中的存储持续时间和精度.以下是 InfluxDB 的保留策略类型以及如 ...

  2. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream

    伪 分布模式下启动spark报错 从spark1.4以后,所有spark的编译都是没有将hadoop的classpath编译进去的,所以必须在spark-env.sh中指定hadoop中的所有jar包 ...

  3. Vue报错: Property or method "changeLoginType" is not defined on the instance but referenced during render

    原因 我这里是因为我代码中的方法不存在,我漏写了,后补充上就好了 解决方案 在methods中添加如下代码: // 修改登录状态 changeLoginType(bool){ this.loginTy ...

  4. 用 Python 自动创建 Markdown 表格 - 每天5分钟玩转 GPT 编程系列(4)

    目录 1. 他们居然问我要 Prompts 2. 让 GPT-4 来写代码 2.1 我对 DevChat 说 2.2 DevChat 回答 2.3 我又对 DevChat 说 2.4 DevChat ...

  5. 【算法】用c#实现德州扑克卡牌游戏规则

    德州扑克是一种牌类游戏,可多人参与,它的玩法是,玩家每人发两张底牌,桌面依次发5张公共牌,玩家用自己的两张底牌和5张公共牌自由组合,按大小决定胜负. 使用c#完成功能Hand()以返回手牌类型和按重要 ...

  6. docker安装phpmyadmin

    下载docker镜像 docker pull phpmyadmin/phpmyadmin 创建容器 # 假设MySQL服务器的地址为:192.168.0.10,端口3306 # 通过3360端口访问p ...

  7. Weblogic T3协议反序列化命令执行漏洞(CVE-2018- 2628)复现

    好久没发新文章了,躲懒了,是时候该更新一篇了,这一篇是关于WebLogic T3协议反序列化命令执行漏洞(CVE-2018- 2628)的复现,该漏洞是weblogic的经典漏洞,而网上有关的复现稍显 ...

  8. Health Kit基于数据提供专业方案,改善用户睡眠质量

    什么是CBT-I? 中国社科院等机构今年发布的<中国睡眠研究报告2023>内容显示,2022年,受访者的每晚平均睡眠时长为7.40小时,近半数受访者的每晚平均睡眠时长不足8小时(47.55 ...

  9. C#程序随系统启动例子 - 开源研究系列文章

    今天讲讲C#中应用程序随系统启动的例子. 我们知道,应用程序随系统启动,都是直接在操作系统注册表中写入程序的启动参数,这样操作系统在启动的时候就根据启动参数来启动应用程序,而我们要做的就是将程序启动参 ...

  10. Unity UGUI的Toggle(复选框)组件的介绍及使用

    Unity UGUI的Toggle(复选框)组件的介绍及使用 1. 什么是Toggle组件? Toggle(复选框)是Unity UGUI中的一个常用组件,用于实现复选框的功能.它可以被选中或取消选中 ...