第一节:Redis 数据类型介绍
五种数据类型:
字符串(String)
字符串列表(list)
有序字符串集合(sorted set)
哈希(hash)
字符串集合(set)
 
第二节:Redis 数据结构之字符串类型
存储String
二进制安全的,存入和获取的数据相同
Value最多可以容纳的数据长度是512M
 

存储String常用命令

赋值

取值

删除

数值增减

扩展命令

下面是对这些命令的操作例子:

设置值、获取值:
127.0.0.1:6379> set name cy
OK
127.0.0.1:6379> get name
"cy"
 
获取并设置值:
127.0.0.1:6379> getset name zhangsan
(nil)
127.0.0.1:6379> get name
"zhangsan"
 
incr自增:

假如没有定义 则默认0
假如非数值类型 则报错

127.0.0.1:6379> incr n
(integer) 1
127.0.0.1:6379> get n
"1" 127.0.0.1:6379> set nn 2
OK
127.0.0.1:6379> incr nn
(integer) 3
127.0.0.1:6379> get nn
"3"
非数字类型会报错:
127.0.0.1:6379> set n2 wangwu
OK
127.0.0.1:6379> incr n2
(error) ERR value is not an integer or out of range
自减 decr 同上
 
扩展 :
incrby 指定增量值
127.0.0.1:6379> get n
"-2"
127.0.0.1:6379> incrby n 10
(integer) 8
127.0.0.1:6379> get n
"8"

decrby 指定减量值

 
append 追加字符串
127.0.0.1:6379> get n
"8"
127.0.0.1:6379> append n xiaoming
(integer) 9
127.0.0.1:6379> append n s
(integer) 10
127.0.0.1:6379> get n
"8xiaomings"
第三节:Redis 数据结构之哈希类型
存储Hash
 String key和String Value的Map容器
 
每一个Hash可以存储4294967295个键值对
存储Hash常用命令:
赋值  
取值
删除
增加数字
判断字段是否存在
获取hash属性个数
获取hash所有属性名称
 
下面是对这些命令的使用例子:
hset单个字段设置
127.0.0.1:6379> hset h1 username cy
(integer) 1
127.0.0.1:6379> hset h1 password 123456
(integer) 1
127.0.0.1:6379> hget h1 username
"cy"
127.0.0.1:6379> hget h1 password
"123456"
hmset 多个字段一起设置

127.0.0.1:6379> hmset h2 username cp password 123456
OK
127.0.0.1:6379> hget h2 username
"cp"
127.0.0.1:6379> hget h2 password
"123456" 127.0.0.1:6379> hgetall h2
1) "username"
2) "cp"
3) "password"
4) "123456"
hdel删除属性
可以一次删除一个或者多个
127.0.0.1:6379> hgetall h2
1) "username"
2) "cp"
3) "password"
4) "123456"
127.0.0.1:6379> hdel h2 username
(integer) 1
127.0.0.1:6379> hgetall h2
1) "password"
2) "123456"
127.0.0.1:6379> hgetall h1
1) "username"
2) "cy"
3) "password"
4) "123456"
127.0.0.1:6379> hdel h1 username password
(integer) 2
127.0.0.1:6379> hgetall h1
(empty list or set)
hincrby增加数字
127.0.0.1:6379> hset h1 age 10
(integer) 1
127.0.0.1:6379> hincrby h1 age 5
(integer) 15
127.0.0.1:6379> hget h1 age
"15"
hexists判断字段是否存在 1表示存在 0表示不存在
127.0.0.1:6379> hexists h1 age
(integer) 1
127.0.0.1:6379> hexists h1 age2
(integer) 0
hlen获取hash属性个数
127.0.0.1:6379> hlen h1
(integer) 1
127.0.0.1:6379> hgetall h1
1) "age"
2) "15"
hkeys获取所有属性名称
127.0.0.1:6379> hgetall h1
1) "age"
2) "15"
3) "name"
4) "cp"
127.0.0.1:6379> hkeys h1
1) "age"
2) "name"
hvals获取所有属性值

127.0.0.1:6379> hgetall h1
1) "age"
2) "15"
3) "name"
4) "cp"
127.0.0.1:6379> hvals h1
1) "15"
2) "cp"
 
---------

峰Redis学习(3)Redis 数据结构(字符串、哈希)的更多相关文章

  1. Redis学习笔记~Redis主从服务器,读写分离

    回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...

  2. redis学习笔记-redis的安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  3. redis学习之——redis.conf配置(基本)文件学习

    # Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...

  4. Redis学习笔记-Redis内部数据结构

    Redis内部数据结构 Redis和其他key-value数据库的很大区别是它支持非字符串类型的value值.它支持的value值的类型如下: sds (simple dynamic string) ...

  5. Redis学习笔记——Redis的基本操作

    之前介绍过如何在ubuntu安装Redis服务器:https://www.cnblogs.com/zifeiy/p/9062738.html 接下来,我们在Redis上进行一些基本的操作. 所县使用命 ...

  6. Redis学习(1)---Redis概述

    什么是NoSQL 概述 NoSQL:Not Only SQL,意思不仅仅是SQL,它是属于非关系型数据库.那什么是关系型数据库?数据结构是一种有行有列的数据库. NoSQL数据库是为了解决高并发.高可 ...

  7. redis学习研究--Redis作者谈Redis应用场景

    毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...

  8. Redis学习笔记--Redis数据过期策略详解

    本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...

  9. Redis学习笔记--Redis数据过期策略详解==转

    本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...

  10. Redis学习笔记--Redis配置文件redis.conf参数配置详解

    ########################################## 常规 ########################################## daemonize n ...

随机推荐

  1. LeetCode - Find K Closest Elements

    Given a sorted array, two integers k and x, find the k closest elements to x in the array. The resul ...

  2. MySQL数据库的学习

    ------------------------------------- 管理数据库PS: Mysql的管理 主要是包括 用户的管理. show........各种的信息   SHOW COLUMN ...

  3. java中的数据结构

    1.链表的使用 使用时需要import java.util.List 和 java.util.ArrayList //返回list中的元素个数 int size(); //判断list中是否包含元素, ...

  4. day 50 Java Script 学习

    前端基础之JavaScript   JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中) ...

  5. debezium mongodb 集成测试

    debezium 是一个方便的cdc connector 可以帮助我们解决好多数据实时变更处理.数据分析.微服务的数据通信 从上次跑简单demo到现在,这个工具是有好多的变更,添加了好多方便的功能,支 ...

  6. 在树莓派是安装并配置NTP服务

    我们都知道树莓派的小巧和省电节省空间等太多的优势,这里就不一一列举了,那么树莓派就需要长时间的运行,可以7×24的方式运行,那么我们就把树莓派当作一个小的服务器来运行,可以跑一些小的应用,例如可以在局 ...

  7. 深入详解美团点评CAT跨语言服务监控(八)报表持久化

    周期结束 我们从消息分发章节知道,RealtimeConsumer在初始化的时候,会启动一个线程,每隔1秒钟就去从判断是否需要开启或结束一个周期(Period),如下源码,如果 value < ...

  8. zabbix--3.0--1

    实验环境 实验用2到2台机器,实验所用机器系统环境如下,可以看到2台机器的主机名和IP地址 [root@linux-node1 ~]# cat /etc/redhat-release CentOS L ...

  9. WebSocket概念

    WebSocket 是什么? WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 ...

  10. MySQL5.6新特性之Multi-Range Read

    一 介绍    MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range Read 多范围读(MRR) , 它的作用针对基于辅助/第二索引的查询,减少随机IO,并且将随机I ...