Redis学习基础二
回顾:上一基础中已了解 ( 什么是redis 、redis 的三大特点、安装,和数据配置)
接下来浅尝Redis的数据类型,时间煮雨......
一、Redis数据类型
redis支持五中数据类型(string字符串、hash哈希、list列表、set集合、zset有序集合)
(一)String 字符串
1、string 是redis 中最基本的类型,可以理解成与memcached一模一样的类型,一个key对应
一个value
2、string 类型是二进制安全的,意思是redis 的string可以包含任何数据,比如jop图片或者序列化的对象
3、sting 类型是redis最基本的数据类型,一个键最大能存储512MB
实战
redis 127.0.0.1:6379> set name 'myis lcc'
OK
redis 127.0.0.1:6379> get name
"myis lcc"
redis 127.0.0.1:6379>
这里用到了redis 的 SET 和 GET命令,键为name,对应的值为 myis lcc
(二)Hash 哈希
1、redis hash 是一个键值对集合
2、redis hash 是一个string类型的 field 和 value 的映射表, hash 特别适合用于储存对象
(一个键最大储存512MB)
实战
redis 127.0.0.1:6379> HMSET user:1 username redis password redis points 200
OK
redis 127.0.0.1:6379> HGETALL user:1
1) "username"
2) "redis"
3) "password"
4) "redis"
5) "points"
6) "200"
redis 127.0.0.1:6379>
以上实例中 hash 数据类型储存了包含用户脚本的信息的用户对象,实例中用了 Redis HMSET \ HGETALL命令, user:1为键名
(每个hash可以储存2的32次方-1键值对(40多亿))
(三)List 列表
1、redis 列表是简单的字符串列表,安装顺序排序。可以添加一个元素导入列表的左边(头部) 或者右边(尾部)
实战
redis 127.0.0.1:6379> lpush redis.list php
(integer) 1
redis 127.0.0.1:6379> lpush redis.list mysql
(integer) 2
redis 127.0.0.1:6379> rpush redis.list cc
(integer) 3
redis 127.0.0.1:6379> lrange redis.list 0 10
1) "mysql"
2) "php"
3) "cc"
redis 127.0.0.1:6379>
(列表最多可以储存2的32次方-1个元素(4294967295 每个类别可以存40多亿))
(四)Set 集合
1、redis 的集合 set 是string 类型的无序集合
2、集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)
3、sadd 命令
添加一个sting元素到集合中,成功返回1,如果元素已经存在返回 0, key对应的set 不存在发生错误则返回错误
sadd key member
实例
redis 127.0.0.1:6379> sadd redis.set mysql
(integer) 1
redis 127.0.0.1:6379> sadd redis.set php
(integer) 1
redis 127.0.0.1:6379> sadd redis.set cc
(integer) 1
redis 127.0.0.1:6379> sadd redis.set mysql
(integer) 0
redis 127.0.0.1:6379> smembers redis.set
1) "php"
2) "cc"
3) "mysql"
redis 127.0.0.1:6379>
注意:以上实例中 mysql 添加了两次,但是根据集合内元素的唯一性,第二次插入的元素会被忽略
(集合中最大的成员数位2的32次方-1(4294967295 每个类别可以存40多亿))
(五)Zset 有序集合
1、redis zset 和 set 一样也是string 类型的元素集合,且不允许重复成员
2、不同的是每个元素都会关联一个double类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序
3、zset 的成员是唯一的,但分数(score)却可以重复
4、zadd 命令
添加元素到集合,元素在集合中存在则更新score
zadd key score member
实战
redis 127.0.0.1:6379> zadd redis.zset.cn 0 php
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 mysql
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd redis.zset.cn 0 redis
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE redis.zset.cn 0 10
1) "mysql"
2) "php"
3) "redis"
redis 127.0.0.1:6379>
以上就是浅尝Redis 数据类型,接下来进行命令实践
注明:纯手工码字搬运哟
Redis学习基础二的更多相关文章
- Redis学习笔记二 (BitMap算法分析与BitCount语法)
Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...
- Redis学习---基础学习[all]
什么是NoSQL型数据库 NoSQL数据库---NoSQL数据库的分类 Redis学习---NoSQL和SQL的区别及使用场景 Redis学习---负载均衡的原理.分类.实现架构,以及使用场景 什么是 ...
- redis 学习(二)-- 通用命令
redis 学习(二)-- 通用命令 1. keys pattern 含义:查找所有符合给定模式(pattern)的key 命令 含义 keys * 遍历所有 key keys he[h-l]* 遍历 ...
- redis学习教程二《四大数据类型》
redis学习教程二<四大数据类型> 四大数据类型包括:字符串 哈希 列表 集合一 : Redis字符串 Redis字符串命令用于管理Redis中的字符串 ...
- redis学习(二) redis数据结构介绍以及常用命令
redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...
- C# Redis学习系列二:Redis基本设置
上一篇:C# Redis学习系列一:Redis的认识.下载.安装.使用 一.redis 设置密码 使用下载好的 redis-cli.exe 指令: 1.设置密码: config set require ...
- Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串
一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...
- Redis学习-基础环境介绍(二)
1.通过VMware安装了Centos6.8系统 2.Reids安装过程,需要GCC环境 »通过下面命令,根据提示直接安装 1 yum install gcc 3.Redis选用的是3.2.4(建议使 ...
- 【Redis】Redis学习(二) master/slave、sentinel、Cluster简单总结
项目中用到Redis,所以准备学习一下,感觉Redis的概念还是很多的,什么主从模式.sentinel模式.集群模式的,一下子都晕了,我觉得还是有必要先理清这些基本概念再说. 一.单节点实例 单节点实 ...
随机推荐
- 温习DL之一:梯度的概念
1.梯度的概念 梯度是一个矢量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向变化最快. 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写 ...
- [T-ARA/超新星][TTL (Time To Love)]
歌词来源:http://music.163.com/#/song?id=5403002 作曲 : 金道勋 [作曲 : 金道勋] 作词 : Rhymer/Joosuc/황성진 [作词 : Rhymer/ ...
- nmap命令详解
基础命令学习目录 原文链接:http://www.cnblogs.com/hongfei/p/3801357.html Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具. ...
- Django_rest_framework_基础
简介 为什么要使用REST framework? Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs. - 在线可视的API,对于赢得你的开发者们十分有用 ...
- iOS 开发中,关于xxx.xcodeproj 文件冲突的解决方案 (以后谁不会了,直接将连接给他)
iOS 开发中,关于xxx.xcodeproj 文件冲突的解决方案 (一有冲突要手把手教一遍,太麻烦了,现在总结下,以后谁不会了,连接直接发他). 关于xxx.xcodeproj 文件冲突的话,是比较 ...
- c#窗体移动与窗体阴影效果
//步骤//1.导入代码//2.事件中添加form_1mousedown函数//3.在load函数中定义AnimateWindow语句,注意有两个引用.//4.DllImport若有错误,按shift ...
- Gradle入门(4):依赖管理
在现实生活中,要创造一个没有任何外部依赖的应用程序并非不可能,但也是极具挑战的.这也是为什么依赖管理对于每个软件项目都是至关重要的一部分. 这篇教程主要讲述如何使用Gradle管理我们项目的依赖,我们 ...
- JDBC连接数据库代码和步骤
JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动,这通过java.lang.Class类的静态方法 ...
- [51单片机] Keil C51中变量的使用方法详解
引言 8051内核单片机是一种通用单片机,在国内占有较大的市场份额.在将C语言用于51内核单片机的研究方面,Keil公司做得最为成功.由于51内核单片机的存储结构的特殊性,Keil C51中变量 ...
- 全选练习-原生版和jQuery
今天来做一些练习,做全选练习 原生版的实现: <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...