1 redis 支持5种数据类型。redis 的值是字节数组,所以他不关心具体存储的是什么。

redis 的键可以是

  • 数值
  • strings
  • lists
  • sets
  • hashes

Redis 支持诸如列表、集合或有序集合的交集、并集、查集等高级原子操作;同时,如果键值的类型是普通数字,Redis 则提供自增等原子操作。

2 Redis 的命令都是原子性的,你可以轻松地利用 INCR,DECR 命令来构建计数器系统。

3 string 类型是二进制安全的, string 可以看做是 byte 数组,最大上限是 1G 字节。

set name HongWan
get name
setnx name HongWan_new

nx 是 not exist 的意思。

setex haircolor  red

设置 haircolor= red 的键值对,并指定它的有效期是 10 秒。

4 mset,一次设置多个 key 的值,成功返回 ok 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。

mset key1 HongWan1 key2 HongWan2

5 msetnx,如果不存在,一次设置多个 key 的值。要么全部设置、要么全部不执行。

6 getset,设置 key 的值,并返回 key 的旧值。

redis 127.0.0.1:> getset name HongWan_new
"HongWan"
redis 127.0.0.1:> get name
"HongWan_new"

7 getrange,获取指定 key 的 value 值的子字符串。

redis 127.0.0.1:> get name
"HongWan@126.com"
redis 127.0.0.1:> getrange name
"HongWan"

8 mget,一次获取多个 key 的值,如果对应 key 不存在,则对应返回 nil。

redis 127.0.0.1:> mget key1 key2 key3
) "HongWan1"
) "HongWan2"
) (nil)

9 incr,对 key 的值做加加操作,并返回新的值。注意 incr 一个不是 int 的 value 会返回错误,incr 一个不存在的 key,则设置 key 为 1。

redis 127.0.0.1:> set age
OK
redis 127.0.0.1:> incr age
(integer)
redis 127.0.0.1:> get age
""

10 incrby,同 incr 类似,加指定值 ,key 不存在时候会设置 key,并认为原来的 value 是 0

redis 127.0.0.1:> get age
""
redis 127.0.0.1:> incrby age
(integer)

11 decr,对 key 的值做的是减减操作,decr 一个不存在 key,则设置 key 为-1

12 decrby,同 decr,减指定值。

13 append,给指定 key 的字符串值追加 value,返回新字符串值的长度。

redis 127.0.0.1:> append name @.com
(integer)
redis 127.0.0.1:> get name
"HongWan@126.com"

14 strlen,取指定 key 的 value 值的长度。

redis 127.0.0.1:> get name
"HongWan_new"
redis 127.0.0.1:> strlen name
(integer)

redis 基本概览的更多相关文章

  1. redis基准性能测试

    1 测试目的 了解redis在不同情况下的性能表现,并分析其性能瓶颈,找出相应的解决方案. 2 redis基准测试概览 运行下列命令可以了解自己的redis服务器的基本性能指标. 通过loopback ...

  2. ELK 环境搭建总结

    开始动手前的说明 我搭建这一套环境的时候是基于docker搭建的,用到了docker-compose,所以开始前要先安装好docker . docker-compose,并简单的了解docker . ...

  3. redis概览

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串 ...

  4. 【Redis】基础学习概览【汇总】

    一.概述 1.1 简介 1.2 Redis单线程好处 1.3 单线程弊端 1.4 Redis应用场景 二.安装.开启以及关闭 三.Redis基本数据类型 四.SpringBoot整合Redis 五.R ...

  5. 探索Redis设计与实现1:Redis 的基础数据结构概览

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...

  6. Redis系列(五)-Opserver的监控

    阅读目录: 基本介绍 使用配置 部署实例 面板属性 基本介绍 Opserver是Stack Exchange的一个开源监控系统,基于Net.MVC开发,所以Net程序员可以轻松基于它二次开发.它主要监 ...

  7. Redis命令大全&中文解释&在线测试命令工具&在线中文文档

    在线测试命令地址:http://try.redis.io/ 官方文档:http://redis.io/commands http://redis.io/documentation Redis 命令参考 ...

  8. Redis哈希表的实现要点

    Redis哈希表的实现要点 哈希算法的选择 针对不同的key使用不同的hash算法,如对整型.字符串以及大小写敏感的字符串分别使用不同的hash算法: 整型的Hash算法使用的是Thomas Wang ...

  9. 【读书笔记】Redis入门

    1:Redis概览 Remote Dictionary Server 远程字典服务 Redis是基于内存的存储 在一台普通的笔记本上,Redis每秒的读取速度可以达到10万 内存读取数据,断电的时候数 ...

随机推荐

  1. mac苹果ping不通网络

    新买了mac,在安装synergy的时候,我拿我的win当server,mac当client,随后发现,synergy提示连接不到server,ping host 失败, cannot connect ...

  2. System.Windows.Forms.ListView : Control

    #region 程序集 System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ...

  3. Solr打分出错

    solr支持给某Field打分,在验证的过程的过程中出现错误:ERROR: [doc=likehua] cannot set an index-time boost, unindexed or nor ...

  4. oracle connect nocycle

    select * from uc_staff_department_level t,uc_t_staff stwhere st.id=t.staff_idand t.department_id in ...

  5. T-SQL 之 自定义函数

    和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且作为一个单元进行调用.UDF和存储过程的主要区别在于返回结果的方式. 使用UDF时可传入参数,但不可传出参数.输 ...

  6. 算法笔记_185:历届试题 格子刷油漆(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆. 你可以从任意一个格子刷起,刷完一格,可 ...

  7. systemctl的常用命令

    #systemctl #systemctl --all #systemctl list-units --type=sokect #systemctl list-units --type=service ...

  8. java上传excel文件及解析

      java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...

  9. plsql 常用快捷键(自动替换)

      plsql 常用快捷键 CreateTime--2018年4月23日17:33:05 Author:Marydon 说明:这里的快捷键,不同于以往的快捷键,输入指定字符,按快捷键,可以自动替换成你 ...

  10. WINDOWS操作系统中可以允许最大的线程数

      默认情况下,一个线程的栈要预留1M的内存空间 而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程 但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小.  ...