Redis 与 string 相关的常用命令
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 相关的常用命令相关推荐
- Redis 与 key 相关的常用命令
1. keys * 查看当前 redis 库中的所有 key: 2. exists k3 判断 k3 键是否存在: 3. move k3 1 将当前库中的 k3 移动到 1 号库: 4. ttl k3 ...
- Redis 与 list 相关的常用命令
list 类似一个双端队列,即可以从左边 push 和 pop,也可以从右边 push 和 pop,底层其实是一个单链表. 一.添加 1. lpush list01 1 2 3 4 5 key 为 l ...
- Redis数据库的部署及常用命令
Redis数据库的部署及常用命令 一.关系数据库和非关系数据库 1.1 关系型数据库 1.2 非关系型数据库 1.2.1 非关系型数据库的产生背景 1.2.2 关系型数据库和非关系型数据库区别 1)数 ...
- 华为交换机查看端口相关信息常用命令
华为交换机查看端口相关信息常用命令 1.显示接口的运行状态和相关信息 display interface Ethernet brief (dis int br) 2.查看接口的描述信息 display ...
- Redis数据库(一)——Redis简介、部署及常用命令
文章目录 一.关系数据库与非关系型数据库概述 1.关系型数据库 2.非关系型数据库 3.关系数据库与非关系型数据库区别 ①.数据存储方式不同 ②.扩展方式不同 ③.对事务性的支持不同 4.非关系型数据 ...
- Redis中的数据结构与常用命令
开发系统:Ubuntu 17.04 Redis驱动:StackExchange.Redis 1.2.3 Redis版本:3.2.1 开发平台:.NET Core 对于Redis的介绍这里只写一句:Re ...
- Redis 数据库的安装与常用命令解析
目录 一.安装部署 1. 环境配置 2. 编译安装 3. 设置 Redis 相关配置文件 4. 启动服务 二.Redis 常用工具 1. redis-cli 命令行工具(远程登陆) 2. redis- ...
- Redis Hash 类型操作及常用命令
七个原则 Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构.在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的 ...
- Redis List 类型操作及常用命令
七个原则 Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构.在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的 ...
最新文章
- 微服务为什么一定要选spring cloud?
- 快照复制,事务复制,合并复制的区别
- OSChina 周二乱弹 ——clouddyy快来! 这个姑娘好萌你要不?
- phpcms 添加memcache支持
- 13-3 14 NFS
- ConcurrentSkipListMap深入分析
- [转载]如何做到 jQuery-free?
- sdut2056不敢死队问题
- 阿里云高效基因序列检索助力新冠肺炎病毒序列快速分析
- Java面试——Redis系列总结
- 不用归一化,深度学习模型也可以很优秀!
- [转]首次新型智慧城市评价工作将侧重应用效果和民众感受
- 大话IT职场之-办公室政治
- 数据库索引介绍及使用
- ztree 使用教程
- 如何写出优雅的React代码Clean Code vs. Dirty Code
- java实现手机尾号评分
- vue2中watch的使用
- Matlab R2020a + Yalmip + IBM ILOG CPLEX Optimization Studio V12.10
- Web应用程序测试工具Top20
热门文章
- Mac超强扒站神器——SiteSucker Pro 4.3.3 mac中英文
- 第2课 桐桐的运输方案《聪明人的游戏 信息学探秘.提高篇》
- 1.3编程基础之算术表达式与顺序执行 09 与圆相关的计算
- 程序猿bug修改名句
- oracle rollup分组没有数据时为0_Hive 入门数据分析基础 5
- 【ES7(2016)】幂运算符**
- java 发送数据_用JAVA模拟POST发送数据
- C++设计模式-适配器模式
- Qt工作笔记-QTableWidget设置委托(使用QStyledItemDelegate画3只小猪)
- 计算机报名成功后还可以取消吗,【造价工程师报名信息确认后可以取消吗?如何取消?】- 环球网校...