字符串中不仅仅可以存储字符串,它可以存储以下 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:> get key
(nil)
127.0.0.1:> incr key
(integer)
127.0.0.1:> incrby key
(integer)
127.0.0.1:> decr key
(integer)
127.0.0.1:> get key
""
127.0.0.1:> set key
OK
127.0.0.1:> incr key
(integer)
 

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

命令 用例和描述
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:> append new-string-key "hello "
(integer)
127.0.0.1:> append new-string-key "world!"
(integer)
127.0.0.1:> get new-string-key
"hello world!"
127.0.0.1:> getrange new-string-key
"lo wo"
127.0.0.1:> setrange new-string-key H
(integer)
127.0.0.1:> get new-string-key
"Hello world!"
127.0.0.1:> setrange new-string-key W
(integer)
127.0.0.1:> get new-string-key
"Hello World!"
# setrange 即可替换字符串,又可增长字符串
127.0.0.1:> setrange new-string-key ", how are you?"
(integer)
127.0.0.1:> get new-string-key
"Hello World, how are you?"
127.0.0.1:>
#
127.0.0.1:> setbit another-key
(integer)
# = 进制数 ,对应的 ASCII 为 !
127.0.0.1:> setbit another-key
(integer)
127.0.0.1:> get another-key
"!"
 

Redis 笔记(二)—— STRING 常用命令的更多相关文章

  1. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  2. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  3. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  4. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  5. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  6. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  7. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  8. Oracle笔记 二、常用dba命令行

    1.给用户解锁 alter user scott account unlock; 2.注销.断开.切换当前用户连接 quit conn scott/tiger 3.用户权限查询 A .查看所有用户: ...

  9. 大数据入门第十七天——storm上游数据源 之kafka详解(二)常用命令

    一.kafka常用命令 1.创建topic bin/kafka-topics. --replication-factor --zookeeper mini1: // 如果配置了PATH可以省略相关命令 ...

  10. 大数据入门第十六天——流式计算之storm详解(二)常用命令与wc实例

    一.常用命令 1.提交命令 提交任务命令格式:storm jar [jar路径] [拓扑包名.拓扑类名] [拓扑名称] torm jar examples/storm-starter/storm-st ...

随机推荐

  1. vue基础----过滤器filter

    1.用的场景:一个功能在每个组件都能用,而computed虽然有缓存,但不能用在每一个组件,需要的话的每一个都需要写. 2.特点:改变数据的展示形式,不改变原有的形式  分为全局与局部的 <di ...

  2. js 随机产生100个0~1000之间的整数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. JetBrains Quest 3

    起因 今天早上看了一篇博文: 此时的我:"哎,这等好事不等我!" 然后......我打开官方推特: "什么?最后的任务?" 于是就有了这篇文章 开始操作 1.神 ...

  4. Redux的createStore实现

    Redux的createStore实现   使用过react的同学应该对Redux这个东西有所了解.他是一种全局状态管理的思想(对, 这里我觉得它是一种思想, 因为对于React来说, 其实Redux ...

  5. Python3学习之路~9.4 队列、生产者消费者模型

    一 队列queue 当必须在多个线程之间安全地交换信息时,队列在线程编程中特别有用. 队列的作用:1.解耦,使程序直接实现松耦合 2.提高处理效率 列表与队列都是有顺序的,但是他们之间有一个很大的区别 ...

  6. Core3.1WebApi_ 同源策略_如何支持跨域(转载)

    原文:https://mp.weixin.qq.com/s/id3fOyGrZI9lLx7PKbVYlg

  7. 1. python跨目录调用模块

    快速镜像安装第三方库 :  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy (三方库名字) 同目录下,我们可以直接调用模块, ...

  8. Spring Boot入门系列(九)如何实现异步执行任务

    前面介绍了Spring Boot 如何整合定时任务,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.htm ...

  9. 免费开源数字货币交易所——基于Java开发的比特币交易所 | BTC交易所 | ETH交易所 | 数字货币交易所

    本项目是基于Java开发的比特币交易所 | BTC交易所 | ETH交易所 | 数字货币交易所 | 交易平台 | 撮合交易引擎.本项目基于SpringCloud微服务开发,可用来搭建和二次开发数字货币 ...

  10. 特征选择与稀疏学习(Feature Selection and Sparse Learning)

    本博客是针对周志华教授所著<机器学习>的"第11章 特征选择与稀疏学习"部分内容的学习笔记. 在实际使用机器学习算法的过程中,往往在特征选择这一块是一个比较让人模棱两可 ...