第一节: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. hdu2389 Rain on your Parade 二分图匹配--HK算法

    You’re giving a party in the garden of your villa by the sea. The party is a huge success, and every ...

  2. 给新创建的用户 赋予所有的权利 *.* 查看权限 删除用户 ---------DCL用户权限管理篇

    第一步:进入数据库以后,先用 show databases; 再use mysql;    再 show tables;    再 select user,host from mysql.user; ...

  3. 【BZOJ3144】【HNOI2013】切糕

    总算做了一道2011以后的省选题了……原题: 图片题面好评! P,Q,R≤40,0≤D≤R,给出的所有的不和谐值不超过1000. 文本样例好评! 恩这个是听妹主席讲过后会写的,首先把每个点拆成链,那么 ...

  4. zabbix入门之使用QQ邮箱接受报警信息

    首先说明我使用的是3.2版本的zabbix 既然要发邮件到QQ邮箱报警,那么在centos7上就肯定需要安装发送邮件的软件了 安装应用yum install mailx sendmail -y接着修改 ...

  5. linux系统调用的三种方法

    通过glibc提供的库函数 [23:02:14] gcc chmodtest.c [23:02:17] ls -l kali //记得先创建这个文件 -rwxrwxrwx. 1 root root 0 ...

  6. Java中的包学习笔记

    一.总结 1.引入包的概念的原因和包的作用比如有多个人开发一个大型程序,A定义了一个Math.java类,B也定义了一个Math.java类,它们放在不同目录,使用的时候也是用目录来区分,包实际上就是 ...

  7. 利用express托管静态文件

    通过express内置的express.static可以方便的托管静态文件,例如图片.css.javascript文件等. 将静态资源文件所在的目录作为参数传递给express.static中间件就可 ...

  8. 最大值最小值(max,max_element)

    min 如果比不出大小就返回第一个引数 //版本一:调用operator< template <class LessThanComparable> const LessThanCom ...

  9. ML(2)——感知器

    感知器(PLA——Perceptron Learning Algorithm),也叫感知机,处理的是机器学习中的分类问题,通过学习得到感知器模型来对新实例进行预测,因此属于判别模型.感知器于1957年 ...

  10. php格式化数字:位数不足前面加0补足

    <?php $var=sprintf("%02d", 2);//生成2位数,不足前面补0 echo $var;//结果为02 ?> 參考:https://blog.cs ...