第一节: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. vue elementui 写的一个后台管理页面模板

    https://github.com/PanJiaChen/vue-element-admin

  2. java-接口的概述及其特点

    1.接口概述: - 从狭义的角度讲就是指java中的interface - 从广义的角度讲对外提供规则的都是接口 2.接口特点: - 接口中定义的全都是抽象方法. - 接口用关键字interface表 ...

  3. web服务器和数据库服务器分离的优势

    一般我们服务器都是分开的,网页服务器.数据服务器单独配置. web服务器不掉,那么就可以正常使用,data服务器掉了,那么web还可以坚持一会. 如果是web服务器掉了,那么就上不去了,不过有一些设置 ...

  4. hdu2509 Be the Winner 博弈

    Let's consider m apples divided into n groups. Each group contains no more than 100 apples, arranged ...

  5. 线程---插队和礼让执行(join和yield)

    插队: 礼让:

  6. synchronized (string.intern())

    在jdk7下慎用String.intern()作为synchronized的对象锁: https://www.cnblogs.com/yhlx/p/3498387.html String.intern ...

  7. linux freopen函数

    编程之路刚刚开始,错误难免,希望大家能够指出. 有些需求需要我们不断的输入数据很庞大,如果我们安装常规方法不断地在终端输入值很麻烦(前提是输入的数据是固定的,并不会随程序的运行而改变),这个时候我们就 ...

  8. crontab 例子

    一个简单的 crontab 示例 0,20,40 22-23 * 7 fri-sat /home/ian/mycrontest.sh 在这个示例中,我们的命令在 7 月的每个星期五和星期六晚上 10 ...

  9. codeforces 788A Functions again

    …… 原题: Something happened in Uzhlyandia again... There are riots on the streets... Famous Uzhlyandia ...

  10. 【mybatis源码学习】调试mybatis的第一个程序

    [一].基础知识准备 mybatis-config.xml配置文件的结构 MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properti ...