写在前面

  • 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. 学习jQuery核心内容这一篇就够了

    jQuery 1. 介绍 jQuery是JavaScript的工具库,对原生JavaScript中的DOM操作.事件处理.数据处理等进行封装,提供更便捷的方法. 让我们用更少的代码完成我们的js操作 ...

  2. 防火墙(iptables与firewalld)

    防火墙 iptables 疏通和堵 进行路由选择前处理的数据包:prerouting 处理流入的数据包:input 处理流出的数据包:output 处理转发的数据包:forward 进行路由选择后处理 ...

  3. YOLOv6在LabVIEW中的推理部署(含源码)

    前言 YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用.如何使用python进行该模型的部署,官网已经介绍的很清楚了,但是对于如何在LabVIEW中实现该模型的部署,笔者目前还没有 ...

  4. Java计算日期之间相差时间和解决浮点类型精度过长

    计算日期之间相差 此处相差计算以分钟为单位,自行可根据业务场景更改 /** * 测试时间相差分钟 */ @Test public void getTime() { SimpleDateFormat s ...

  5. 我开源了团队内部基于SpringBoot Web快速开发的API脚手架v1.6.0更新

    什么是 rest-api-spring-boot-starter rest-api-spring-boot-starter 适用于SpringBoot Web API 快速构建让开发人员快速构建统一规 ...

  6. (转) [Android测试] AS+Appium+Java+Win自动化测试之三: 基础知识和Appium界面

    一.把上一章的demo先看懂 AndroidContactsTest.Java public class AndroidContactsTest { //Driver private AppiumDr ...

  7. 拖拽宫格vue-grid-layout详细应用及案例

    目录 1.前言 2.安装 3.属性 4.事件 5.占位符样式修改 6.案例 1.前言 vue-grid-layout是一个适用于vue的拖拽栅格布局库,功能齐全,适用于拖拽+高度/宽度自由调节的布局需 ...

  8. Java将MySQL建表语句转换为SQLite的建表语句

    Java将MySQL建表语句转换为SQLite的建表语句 源代码: package com.fxsen.platform.core.util; import java.util.HashMap; im ...

  9. Oracle数据库字符集概述及修改方式

    1.字符集概述 Oracle语言环境的描述包括三部分:language.territory.characterset(语言.地域.字符集) language:主要指定服务器消息的语言,提示信息显示中文 ...

  10. 快手Java一面11问(附参考答案)

    现在已经到了面试招聘比较火热的时候,后续会分享一些面试真题供大家复习参考.准备面试的过程中,一定要多看面经,多自测! 今天分享的是一位贵州大学的同学分享的快手一面面经. 快手一面主要会问一些基础问题, ...