写在前面

  • 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. 【技术积累】Vue.js中的事件【一】

    Vue中的事件是什么 在Vue.js中,事件是用于处理用户交互的重要机制.Vue.js提供了一系列的事件处理方法和指令,使开发者能够方便地处理用户的各种操作. 1. 事件绑定:Vue.js通过v-on ...

  2. C#中DataTable的一些使用(后续继续补充)

    C#中DataTable的一些使用 新建一个DataTable DataTable table = new DataTable(); table.Columns.Add("姓名", ...

  3. shell: xcall

    #!/bin/bash ips=( 1.1.1.2 1.1.1.1 ) port= user= passwd= for i in ${ips[@]} do echo "== $i ==&qu ...

  4. LCD与OLED的相爱相杀

    目前市面的显示技术主要分为LCD与OLED. 本文主要记录对LCD与OLED的学习. 导言:介绍一些专业名词和术语. 像素点:是指在由一个数字序列表示的图像中的一个最小单位,称为像素. 一张图片在显示 ...

  5. 2021-7-6 vue音乐播放器

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  6. spring-mvc系列:详解@RequestMapping注解(value、method、params、header等)

    目录 一.@RequestMapping注解的功能 二.@RequestMapping注解的位置 三.@RequestMapping注解的value属性 四.@RequestMapping注解的met ...

  7. Codeforces 1850H:The Third Letter 带权并查集

    1850H.The Third Letter Description: \(n\) 个人,\(m\) 个条件,每次给出两个人 \(a_i\) 和 \(b_i\) 一维的位置关系,以距离 \(d_i\) ...

  8. js中的函数式编程

    函数是javascript中非常重要的一部分,用途也非常的多,可作为参数.返回值.回调等等,下面有一些函数式编程的重要概念和定义 纯函数 纯函数属于程序设计的名词,其它语言中也是存在的,而在javas ...

  9. quarkus数据库篇之三:单应用同时操作多个数据库

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 一个应用同时连接多个数据库进行操作,这是常见 ...

  10. Vue【原创】时间轴 【time-axis】&【date-axis】

    封装了关于时间轴的组件,有时候统计页面会用到. 效果图: 时间轴分为2种,一种是time-axis:范围选择模式,一种是date-axis:步长选择模式. 代码中涉及到的工具类和图片资源,请移步页面底 ...