redis初识~String命令介绍

回家是人生中最幸福的一件事。回家路途上风景总是最美丽的,即使灯已暗,路已黑。回家路上,我一直按捺不住自己的激动的心情,跟着电视播放的歌曲一路哼唱,看着窗外黑漆漆,即使塞车也没有关系,因为我知道终点站是我的家。

Redis简介

Redis 是一个速度非常快的非关系型数据库,可以存储key与5种不同类型的value值之间的映射,可以将存储在内存的键值对数据持久化到硬盘中,并且还可以使用复制的特性来扩展读的性能。在Redis中用户可以直接使用院子的atomic命令及其变种来计算聚合数据。

String :可以是字符串,也可以是整数或者浮点数。

  1. set: set redis 2 ----命令格式是 set key value 重复对一个key进行操作的话的相当于新值覆盖旧值 。时间复杂度:O(1),可以加参数 用来代替setnx ,setex,psetex.
  2. get : get redis ----命令格式是 get key 如果不存在key值返回nil
  3. append : append redis 3 ----命令格式是 append key value 在已经有的key值情况下,将value追加到key原来值的末尾。如果key不存在 就相当于set命令了 。时间复杂度:平摊O(1) 。返回值:追加 value 之后, key 中字符串的长度。
  4. bigcount : bitcount redis 0 1 ----命令格式 bitcount key start stop . 计算给定字符串中被设置为1的比特位的数量。 不存在的key当做空字符串来处理
  5. bitop : bitop and redis1 redis redis1 ----命令格式: bitop operation(and,or,xor,not) destkey key [key...] 对一个或多个保存二进制位的字符串key进行位元操作。 并将结果保存到destkey上。时间复杂度O(N)
  6. decr: decr redis ----命令格式 decr key 将key中存储的数字值减1 ,如果目标key不存在 那么 key对应的值初始化为0 。 然后在执行decr操作。时间复杂度:O(1)
  7. decrby : decrby redis 4 ----命令格式 decrby key decrement . 同decr 如果目标值不存在 默认为0 再减去decrement. 时间复杂度:O(1)
  8. getbit : getbit redis 2 ----命令格式 对key所存储的字符串值 获取指定偏移量上的位,当给定的偏移量大于字符串值的长度时 返回0 . 时间复杂度:O(1)
  9. getrange : getrange redis 0 2 ----命令格式 :getrange key start end ,返回key中字符串值的子字符串。字符串的街区范围由start 和end 两个偏移量决定。包含 start 和end.时间复杂度: O(N),N 为要返回的字符串的长度。相当于截取子字符串。
  10. getset : getset redis4 value ----命令格式 :getset key value ,将给定的key设置成value,并且返回key的旧值。key不存在的时候返回nil
  11. incr : incr redis 4 ----命令格式 : incr key decrement . incr 如果目标值不存在 默认为0 再加1. 时间复杂度:O(1)。这是一个针对字符串的操作,因为 Redis 没有专用的整数类型,所以 key 内储存的字符串被解释为十进制 64 位有符号整数来执行 INCR 操作。
  12. incr by : incrby redis 4 ----命令格式 : incr rby key decrement . 同incr 如果目标值不存在 默认为0 再加上decrement. 时间复杂度:O(1)
  13. mget : mget redis redis4 ..... ----命令格式: mget key..... .如果给定的key中值不存在返回nil.时间复杂度: O(N) , N 为给定 key 的数量。
  14. mset :mset redis6 1 redis2 2 ... ----命令格式 : mset key value key value ....,存在key的值 新值会覆盖旧值。这个命令 是一个原子的操作,并且给定的key是在同一时间内改变的。某些给定的kkey被更新 一些不备更新这个事情不会发生。时间复杂度:O(N), N 为要设置的 key 数量。
  15. msetnx: msetnx redis5 2 redis2 2 ...----命令格式: msetnx key value key value ....,这个命令也是原子操作,在该命令的操作下 所以字段要么全部被复制,要么全部失败。时间复杂度: O(N), N 为要设置的 key 的数量。
  16. psetex : psetex redis2 200 v2 . 命令格式: psetex key milliseconds value . 设置key的生存时间 以秒为单位,时间复杂度:O(1)
  17. setbit :setbit redis2 1 2 命令格式:setbit key offset value . 对存在key 设置清除指定便宜量上的bit.对使用大的 offset 的 SETBIT 操作来说,内存分配可能造成 Redis 服务器被阻塞。具体参考 SETRANGE 命令,warning(警告)部分。
  18. setrange key offset value : 用value 来覆盖给定可所存储的字符串的值。如果key不存在 当做空字符串来处理。 时间复杂度 : 对小(small)的字符串,平摊复杂度O(1)。(关于什么字符串是”小”的,请参考 APPEND 命令)否则为O(M), M 为 value 参数的长度。
  19. strlen key : 返回key所存储的字符串值的长度。 当key存储不是字符串值 返回一个错误 。key不存在 返回0 。复杂度:O(1)

原文发布于微信公众号 - LuckQI(YoungRUIQ)

原文发表时间:2018-03-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从流域到海域

堆和栈的区别

堆(heap)和栈(stack) 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(...

2217
来自专栏C#中的VList数据结构

VList data structures in C#

VLIST数据结构是由Phil Bagwell设计的,它作为在函数式编程语言单链表的替代品。它可以被认为是链接列表和动态数组(如.NET Framework的L...

3767
来自专栏C语言及其他语言

[每日一题]C语言程序设计教程(第三版)课后习题1.6

题目描述 编写一个程序,输入a、b、c三个值,输出其中最大值。 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例...

3399
来自专栏Java后端技术

通俗易懂详解Java代理及代码实战

代理模式是Java常用的设计模式之一,实现代理模式要求代理类和委托类(被代理的类)具有相同的方法(提供相同的服务),代理类对象自身并不实现真正的核心逻辑,而是...

1271
来自专栏Python

python编码问题一点通

一、了解字符编码的知识储备   1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)      打开编辑器就打开了启动了一个进程,是...

2368
来自专栏魂祭心

原 Type System Overvie

3538
来自专栏程序员宝库

48 条高效率的 PHP 优化写法

能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。

2494
来自专栏C/C++基础

C++注释风格建议

有个笑话,一位从不写注释的程序员在编写一段复杂的代码时,骄傲地认为这段代码只有自己和上帝知道它是干嘛的,等过了一段时间再回顾时,发现没有注释,感叹到这段代码现在...

2191
来自专栏我的博客

if和else匹配问题以及switch问题

$b = 1; $a = 2; if ($a > 1) { echo ‘1’; if ($b > 2) { echo ‘2’; } } else ...

35511
来自专栏Java学习网

Java 实现线程死锁

Java 实现线程死锁 概述 春节的时候去面试了一家公司,笔试题里面有一道是使用简单的代码实现线程的‘死锁’,当时没有想到这道题考的是Synchronized关...

2546

扫码关注云+社区

领取腾讯云代金券