1. set k1 v1 向当前库(0号库)设置一个键 k1,它的值为 v1:

2. get k1 获取键 k1 的值:

3. del k1 若 k1 存在,则删除 k1:

4. append k1 234 向键 k1 的 value 后面追加(拼接一个字符串,因为键默认是字符串类型) “234” 字符串:

5. strlen k1 获取键 k1 的长度:

6. incr k1 键 k1 对应的 value 加 1(必须是数字类型的字符串):

7. decr k1 键 k1 对应的 value 减 1(必须是数字类型的字符串):

8. incrby k1 7 键 k1 对应的 value 加 7(必须是数字类型的字符串):

9. decrby k1 5 键 k1 对应的 value 减 5(必须是数字类型的字符串):

10. getrange k1 0 -1 获取键 k1 所对应的 value 的所有位置的值 == get k1

11. getrange k1 0 2 获取键 k1 所对应的 value 的字符串的前三个字符串(就相当于 substring):

12. setrange k1 1 000 从键 k1 所对应的 value 的下标为 1 的位置向后覆盖 “000” 字符串:

13. setex k2 10 vvv 设置键 k2 对应的 value 为 “vvv” 过期时间为 10 秒:

14. setnx k1 v1 如果键 k1 不存在的话就添加:

15. mset k1 v1 k2 v2 同时设置多个 key-value:

16. mget k1 k2 k3 同时返回多个键对应的 value(不存在的键会返回 nil):

17. msetnx k3 v3 k1 v1 不存在的键才会设置(只要有一个键设置失败,其他的都失败):

18. getset k1 v1 先获取 k1 的旧值,再为它赋新值 “v1”(若之前不存在 k1 则返回 nil):

字符串中不仅仅可以存储字符串,它可以存储以下 3 中类型的值 :

  • 字符串

  • 整数

  • 浮点数

Redis 可以对字符串进行截取等相关操作,对整数、浮点数进行增减操作。

自增自减命令

命令 用例和描述
INCR INCR key-name —— 将键存储的值加上 1
DECR DECR key-name —— 将键存储的值减去 1
INCRBY INCRBY key-name amount —— 将键存储的值加上整数 amount
DECRBY DECRBY key-name amount —— 将键存储的值减去整数 amount
INCRBYFLOAT INCRBYFLOAT key-name amount —— 将键存储的值加上浮点数 amount

例子:

127.0.0.1:6379> get key
(nil)
127.0.0.1:6379> incr key
(integer) 1
127.0.0.1:6379> incrby key 15
(integer) 16
127.0.0.1:6379> decr key
(integer) 15
127.0.0.1:6379> get key
"15"
127.0.0.1:6379> set key 13
OK
127.0.0.1:6379> incr key
(integer) 14

处理子串和二进制位的命令

命令 用例和描述
APPEND APPEND key value —— 将 value 追加到 key 当前值的末尾
GETRANGE GETRANGE key start end —— 获取指定区间的子串 (包含 start 和 end 位)
SETRANGE SETRANGE key offset value —— 将从 start 开始(包括)的子串设置为给定值
GETBIT GETBIT key offset —— 将字符串看做二进制位串,获取 offset 偏移量的二进制位值
SETBIT SETBIT key offset value —— 看做二进制位串,将其中偏移量为 offset 的二进制位设为 value
BITCOUNT BITCOUNT key [start end] —— 统计二进制为串里面值为 1 的数量
BITOP BITOP operation dest-key key-name [key-name ...] —— 对一个或多个二进制位串进行按位操作,结果存入 dest-key 中

例子 :

127.0.0.1:6379> append new-string-key "hello "
(integer) 6
127.0.0.1:6379> append new-string-key "world!"
(integer) 12
127.0.0.1:6379> get new-string-key
"hello world!"
127.0.0.1:6379> getrange new-string-key 3 7
"lo wo"
127.0.0.1:6379> setrange new-string-key 0 H
(integer) 12
127.0.0.1:6379> get new-string-key
"Hello world!"
127.0.0.1:6379> setrange new-string-key 6 W
(integer) 12
127.0.0.1:6379> get new-string-key
"Hello World!"
# setrange 即可替换字符串,又可增长字符串
127.0.0.1:6379> setrange new-string-key 11 ", how are you?"
(integer) 25
127.0.0.1:6379> get new-string-key
"Hello World, how are you?"
127.0.0.1:6379>
# 001
127.0.0.1:6379> setbit another-key 2 1
(integer) 0
# 0010 0001 = 10 进制数 33,对应的 ASCII 为 ! 
127.0.0.1:6379> setbit another-key 7 1
(integer) 0
127.0.0.1:6379> get another-key
"!"

Redis 与 string 相关的常用命令相关推荐

  1. Redis 与 key 相关的常用命令

    1. keys * 查看当前 redis 库中的所有 key: 2. exists k3 判断 k3 键是否存在: 3. move k3 1 将当前库中的 k3 移动到 1 号库: 4. ttl k3 ...

  2. Redis 与 list 相关的常用命令

    list 类似一个双端队列,即可以从左边 push 和 pop,也可以从右边 push 和 pop,底层其实是一个单链表. 一.添加 1. lpush list01 1 2 3 4 5 key 为 l ...

  3. Redis数据库的部署及常用命令

    Redis数据库的部署及常用命令 一.关系数据库和非关系数据库 1.1 关系型数据库 1.2 非关系型数据库 1.2.1 非关系型数据库的产生背景 1.2.2 关系型数据库和非关系型数据库区别 1)数 ...

  4. 华为交换机查看端口相关信息常用命令

    华为交换机查看端口相关信息常用命令 1.显示接口的运行状态和相关信息 display interface Ethernet brief (dis int br) 2.查看接口的描述信息 display ...

  5. Redis数据库(一)——Redis简介、部署及常用命令

    文章目录 一.关系数据库与非关系型数据库概述 1.关系型数据库 2.非关系型数据库 3.关系数据库与非关系型数据库区别 ①.数据存储方式不同 ②.扩展方式不同 ③.对事务性的支持不同 4.非关系型数据 ...

  6. Redis中的数据结构与常用命令

    开发系统:Ubuntu 17.04 Redis驱动:StackExchange.Redis 1.2.3 Redis版本:3.2.1 开发平台:.NET Core 对于Redis的介绍这里只写一句:Re ...

  7. Redis 数据库的安装与常用命令解析

    目录 一.安装部署 1. 环境配置 2. 编译安装 3. 设置 Redis 相关配置文件 4. 启动服务 二.Redis 常用工具 1. redis-cli 命令行工具(远程登陆) 2. redis- ...

  8. Redis Hash 类型操作及常用命令

    七个原则 Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构.在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的 ...

  9. Redis List 类型操作及常用命令

    七个原则 Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构.在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的 ...

最新文章

  1. 微服务为什么一定要选spring cloud?
  2. 快照复制,事务复制,合并复制的区别
  3. OSChina 周二乱弹 ——clouddyy快来! 这个姑娘好萌你要不?
  4. phpcms 添加memcache支持
  5. 13-3 14 NFS
  6. ConcurrentSkipListMap深入分析
  7. [转载]如何做到 jQuery-free?
  8. sdut2056不敢死队问题
  9. 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析
  10. Java面试——Redis系列总结
  11. 不用归一化,深度学习模型也可以很优秀!
  12. [转]首次新型智慧城市评价工作将侧重应用效果和民众感受
  13. 大话IT职场之-办公室政治
  14. 数据库索引介绍及使用
  15. ztree 使用教程
  16. 如何写出优雅的React代码Clean Code vs. Dirty Code
  17. java实现手机尾号评分
  18. vue2中watch的使用
  19. Matlab R2020a + Yalmip + IBM ILOG CPLEX Optimization Studio V12.10
  20. Web应用程序测试工具Top20

热门文章

  1. Mac超强扒站神器——SiteSucker Pro 4.3.3 mac中英文
  2. 第2课 桐桐的运输方案《聪明人的游戏 信息学探秘.提高篇》
  3. 1.3编程基础之算术表达式与顺序执行 09 与圆相关的计算
  4. 程序猿bug修改名句
  5. oracle rollup分组没有数据时为0_Hive 入门数据分析基础 5
  6. 【ES7(2016)】幂运算符**
  7. java 发送数据_用JAVA模拟POST发送数据
  8. C++设计模式-适配器模式
  9. Qt工作笔记-QTableWidget设置委托(使用QStyledItemDelegate画3只小猪)
  10. 计算机报名成功后还可以取消吗,【造价工程师报名信息确认后可以取消吗?如何取消?】- 环球网校...