写在前面

  • 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. Hexo博客Next主题添加粒子时钟特效

    博客应用canvas粒子时钟的操作步骤: 在\themes\next\layout\_custom\目录下,新建clock.swig文件,内容如下: <div style="" ...

  2. ubuntu server安装图形化界面

    只需一个命令,然后重启即可: # apt-get install ubuntu-desktop # 查看下一次启动的设置 systemctl get-default # reboot

  3. 你不知道的 HTTP Referer

    前言 上周突然发现自己的自己站点的图片全都403了,之前还是好好的,图片咋就全都访问不了呢?由于我每次发文章都是先发了掘金,然后再从掘金拷贝到我自己的站点,这样我就不用在自己的站点去上传图片了,非常方 ...

  4. 并发编程-CompletableFuture解析

    1.CompletableFuture介绍 CompletableFuture对象是JDK1.8版本新引入的类,这个类实现了两个接口,一个是Future接口,一个是CompletionStage接口. ...

  5. pycharm:插件translation 更新TTK失败

    解决方案 1.修改C:\Windows\System32\drivers\etc 下hosts文件, 添加 203.208.40.66 translate.google.com 203.208.40. ...

  6. Maven资源导出问题所需配置

    <!--在build中配置resources,来防止我们资源导出失败的问题--> <build> <resources> <resource> < ...

  7. 产品代码都给你看了,可别再说不会DDD(二):DDD概念大白话

    这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...

  8. docker swarm 使用详解

    转载请注明出处: 1.docker swarm 的组成架构 一个基本的docker swarm 的架构如下: 它主要包含这几个核心组件: Manager节点(Manager Nodes): 管理节点是 ...

  9. SimpleDateFormat 线程安全问题修复方案

    问题介绍 在日常的开发过程中,我们不可避免地会使用到 JDK8 之前的 Date 类,在格式化日期或解析日期时就需要用到 SimpleDateFormat 类,但由于该类并不是线程安全的,所以我们常发 ...

  10. 接到一个新需求应该怎么做?(V1.0)

    接到一个新需求应该怎么做?(V1.0) 1 背景 在做业务研发的时候,经常会接到一些 产品需求/技术需求, 无论需求大小,都需要一套可以重复使用的方法论,来保证整个项目的正常交付,这篇思考就是总结梳理 ...