第一节: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. django JsonResponse和HttpResponse的在后端和前端区别

    JsonResponse和HttpResponse的区别 1.from django.http import JsonResponse return JsonResponse('例子') 2.impo ...

  2. combineReducers 对数据进行拆分管以及使用immutable.js

    1 使用combineReaducers 整合reducers import { combineReducers } from 'redux-immutable'; import { reducer ...

  3. React中的Context——从父组件传递数据

    简介:在React中,数据可以以流的形式自上而下的传递,每当你使用一个组件的时候,你可以看到组件的props属性会自上而下的传递.但是,在某些情况下,我们不想通过父组件的props属性一级一级的往下传 ...

  4. 每天进步一点点-写完睡觉-周一工作(java基本数据类型所占的字节和IO流读取的字符和字节)

  5. day43 数据库学习 转自egon 老师博客 单表查询和多表查询

    一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...

  6. EXtJS Ext.data.Model

    (一).首先我们介绍一下Model类中比较常用的几个属性,如果我们想构建一个Model类,最主要的属性就是(Fields)属性,这个属性接受一个数组.用来设置Model中所包含的字段.定义的格式如下: ...

  7. 20165308 《Java程序设计》第9周学习总结

    20165308 <Java程序设计>第9周学习总结 教材学习内容总结 13章知识总结 获取地址 1.获取Internet上主机的地址 可以使用InetAddress类的静态方法getBy ...

  8. 八、springboot(五)配置定时器

    1.修改启动类 @SpringBootApplication @EnableScheduling public class DemoApplication { public static void m ...

  9. Go sql语句引号问题

    使用Go进行Mysql开发时,会遇到引号问题(实际上,与语言无关,只要使用sql就会遇到这些类似问题). 本文举例说明如何解决这些问题. Example1 第一例子演示格式字符是否要加引号. 代码如下 ...

  10. Hadoop 目录分析及存储机制

    NameNode元数据目录分析 在第一次部署好Hadoop集群的时候,我们需要在NameNode(NN)节点上格式化磁盘: $HADOOP_HOME/bin/hdfs namenode -format ...