写在前面

  • 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. AIGC:新AI时代,推动数字人进化的引擎

    摘要:CV.NLP.大模型...AI技术的加持下,让数字人内外在更加生动真实.在未来的发展中,数字人的应用场景越来越广泛,并将发挥出重要的作用,让美好照进生活. 本文分享自华为云社区<AIGC: ...

  2. 使用react-test-renderer/shallow写测试

    我的项目是采用react + ts来写的,项目中要写单元测试,于是采用了Jest库,  主要用的package有 react-test-renderer react-test-renderer/sha ...

  3. MIT 6.5840 Raft Implementation(2A, Leader Election)

    Raft实现思路+细节 2A 任务分解 总体来说,2A中主要的任务就是选出领导人,在选出领导人的时候,我们要遵循下图. 在2A中,由于并没有出现日志复制,所以我们只需要考察两者的任期是否相等,以及接收 ...

  4. ch-manager.sh

    [root@dev-clickhouse1 ~]# cat ch-manager.sh #!/bin/bash ch_arr=(ch1-shard1-main ch1-shard2-sub ch2-s ...

  5. v4l2采样usb摄像头并显示

    ubuntu 思路: 1. 首先理解camera工作原理,重点理解 yuv,rgb视频流, 即Sensor数据输出的图像格式; 大体过程:光线通过镜头Lens进入摄像头内部,通过IR过滤掉红外光,抵达 ...

  6. 这可能是前端处理excel最好的工具了

    大家好,我是程序视点的小二哥! 今天小二哥要分享的是一个纯前端实现读取和导出excel文件的工具库:ExcelJS ExcelJs 简介 功能十分简单: 读取,操作并写入电子表格数据和样式到 XLSX ...

  7. DateTime和DateTimeOffset是同胞兄弟吗?

    小编在日常开发中,用得最多的时间类型就是DateTime,直到一次偶然的邂逅,让小编遇见了DateTimeOffset.当时小编也是一脸迷茫,因为在小编的C#编程字典里就没出现过DateTimeOff ...

  8. C# 处理 csv 文件中的双引号

    C# CSV 双引号处理 直接上代码,自己写的,有问题可以随时联系 // 没有保证所有的都能对上,目前只处理了自己所遇见的格式 public static string[] SplitStr(stri ...

  9. vue: 在页面中单独引入elment-ui

    引入资源 首先引入Vue,之后引入element-ui. 引入组件 返回数据 全部代码 <!DOCTYPE html> <html lang="en"> & ...

  10. vs(visual stuiod)中vc++工程的Filter和Folder及vcxproj知识

    vs中创建Filter 在一个新项目中右键 - Add - New,默认只有一选项 New Filter. 创建出来的Filter可以理解为是VS的过滤器(虚拟目录),它不会在本地的磁盘上新建目录,而 ...