返回顶部
首页 > 资讯 > 数据库 >redis笔记03
  • 335
分享到

redis笔记03

redis笔记03 2020-01-13 11:01:32 335人浏览 猪猪侠
摘要

Redis数据类型 Redis 数据类型 redis支持种数据类型 : string(字符串) hash(哈希) list(列表) set(集合) zset(sorted set:有序集合) String(字符串) string是red

redis笔记03

Redis数据类型

Redis 数据类型

redis支持种数据类型 :

  • string(字符串)
  • hash(哈希)
  • list(列表)
  • set(集合)
  • zset(sorted set:有序集合)

String(字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

string类型是Redis最基本的数据类型,一个键最大能存储512MB。

实例

redis 127.0.0.1:6379> set name "victor"
OK
redis 127.0.0.1:6379> get name
"victor"

在以上实例中我们使用了 Redis 的 SET 和 GET 命令。键为 name,对应的值为"victor"

注意:一个键最大能存储512MB。

Hash(哈希)

Redis hash 是一个键值对集合。

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

实例

redis 127.0.0.1:6379> hmset user:1 username victor password 123456 points 200
OK
redis 127.0.0.1:6379> hgetall user:1
1) "username"
2) "victor"
3) "passWord"
4) "123456"
5) "points"
6) "200"

以上实例中 hash 数据类型存储了包含用户脚本信息的用户对象。实例中我们使用了 Redis HMSET, HGETALL 命令,user:1 为键值。

每个 hash 可以存储 2^32 - 1 键值对(40多亿)。

List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

实例

redis 127.0.0.1:6379> lpush mylist python
(integer) 1
redis 127.0.0.1:6379> lpush mylist java
(integer) 2
redis 127.0.0.1:6379> lpush mylist php
(integer) 3
redis 127.0.0.1:6379> lpush mylist node
(integer) 4
redis 127.0.0.1:6379> lrange mylist 0 11
1) "node"
2) "php"
3) "java"
4) "python"
redis 127.0.0.1:6379>

列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

Set(集合)

Redis的Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

sadd 命令

添加一个string元素到,key对应的set集合中,成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误。

sadd key member

实例

redis 127.0.0.1:6379> sadd list1 ttk
(integer) 1
redis 127.0.0.1:6379> sadd list1 victor
(integer) 1
redis 127.0.0.1:6379> sadd list1 nineberg
(integer) 1
redis 127.0.0.1:6379> sadd list1 mengya
(integer) 1
redis 127.0.0.1:6379> sadd list1 yupeng
(integer) 1
redis 127.0.0.1:6379> sadd list1 chenzan
(integer) 1
redis 127.0.0.1:6379> smembers list1
1) "mengya"
2) "nineberg"
3) "ttk"
4) "chenzan"
5) "victor"
6) "yupeng"
redis 127.0.0.1:6379> sadd list1 yupeng
(integer) 0
redis 127.0.0.1:6379> smembers list1 yupeng
(error) ERR wrong number of arguments for "smembers" command
redis 127.0.0.1:6379> smembers list1
1) "nineberg"
2) "ttk"
3) "chenzan"
4) "victor"
5) "yupeng"
6) "mengya"
redis 127.0.0.1:6379>

注意:以上实例中 rabitMQ 添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

zadd 命令

添加元素到集合,元素在集合中存在则更新对应score

zadd key score member 

实力

redis 127.0.0.1:6379> zadd list2 0 node
(integer) 1
redis 127.0.0.1:6379> zadd list2 0 html
(integer) 1
redis 127.0.0.1:6379> zadd list2 0 css
(integer) 1
redis 127.0.0.1:6379> zadd list2 0 js
(integer) 1
redis 127.0.0.1:6379> zadd list2 0 js
(integer) 0
redis 127.0.0.1:6379> zrengebyscore list2 0 1000
(error) ERR unknown command "zrengebyscore"
redis 127.0.0.1:6379> zrangebyscore list2 0 1000
1) "css"
2) "html"
3) "js"
4) "node"
redis 127.0.0.1:6379>
您可能感兴趣的文档:

--结束END--

本文标题: redis笔记03

本文链接: https://lsjlt.com/news/4988.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • redis笔记03
    Redis数据类型 Redis 数据类型 redis支持种数据类型 : string(字符串) hash(哈希) list(列表) set(集合) zset(sorted set:有序集合) String(字符串) string是red...
    99+
    2020-01-13
    redis笔记03
  • redis笔记-
    前言 为了避免单点故障,我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务 作用: 数据备份 扩展读性能(读写分离) 复制方式: 全量复制 部分复制   实现方式   1、一主二...
    99+
    2021-09-21
    redis笔记-
  • Redis 笔记
    Redis常用管理命令 # dbsize 返回当前数据库 key 的数量。 # info 返回当前 redis 服务器状态和一些统计信息。 # monitor 实时监听并返回redis服务器接收到的所有请求信息。 # shutd...
    99+
    2020-04-14
    Redis 笔记
  • redis笔记
    //redis类型介绍 //获取数据 $lotterylRedis = Redis::getInstance()->redisGet($key); //有效期时间 $key = "Kaijang:lottery:frequency:sim...
    99+
    2022-02-07
    redis笔记
  • redis笔记01
    起步 redis简介 redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. redis与其他key-value缓存产品有一下三个特点: redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候...
    99+
    2014-09-19
    redis笔记01
  • redis笔记04
    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份。 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 redis 127.0.0.1:6379> S...
    99+
    2014-11-28
    redis笔记04
  • Redis学习笔记记录
    基础篇 什么是Redis及快速理解Redis的使用 Redis解决的问题及Redis的特性 Redis的应用场景及正确安装与启动 Redis配置、启动、操作、关闭及版本选择 字符串使用与内部实现原理 字典使用与内部实现原理 列表...
    99+
    2016-01-10
    Redis学习笔记记录
  • redis geohash 学习笔记
    附近的人: 地图元素的位置数据使用二维的经纬度表示,经度范围 (-180, 180],纬度范围 (-90, 90],纬度正负以赤道为界,北正南负,经度正负以本初子午线 (英国格林尼治天文台) 为界,东正西负...
    99+
    2024-04-02
  • 《Java编程思想》学习笔记03、控制程序流
    大部分操作符只能操作基本类型(primitives),只有=、==和!=可以操作对象,另外String支持+和+=在=两边,右值(rvalue)可以是常数、变量或表达式,左值(lvalue)必须是一个变量,即必须有物理空间来存储rvalue...
    99+
    2023-06-03
  • Redis学习笔记——Redis基础介绍
    纸上得来终觉浅,绝知此事要躬行。——陆游《冬夜读书示子聿》 redis基础概念 redis是一个字典结构的存储服务器。以字典结构键值对(key=>value)形式存储数据,并允许其他应用通过TCP协议读写字段中的内容。 我们可以把 r...
    99+
    2018-08-28
    Redis学习笔记——Redis基础介绍
  • Redis学习笔记(六) 对象
    前面我们看了Redis用到的主要数据结构,如简单动态字符串(SDS)、双向链表、字典、压缩列表、整数集合等。 但是Redis并没有直接使用这些数据结构来实现键值对,而是基于这些数据结构创建了一个对象系统,这个系统包括字符串对象、列...
    99+
    2021-06-25
    Redis学习笔记(六) 对象
  • Redis学习笔记(二) 链表
    链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。 redis中链表应用广泛,如list中就使用了链表。 每一个链表节点使用listNode结构标识(双向链表): typedef...
    99+
    2017-01-27
    Redis学习笔记(二) 链表
  • Redis学习笔记(三) 字典
    Redis的字典使用哈希表作为底层实现,一个哈希表中可以有多个哈希表节点,而每个哈希节点就保存在字典中的一个键值对。 redis字典所用的哈希表由disht结构定义。 typedef struct dictht{ dic...
    99+
    2014-05-20
    Redis学习笔记(三) 字典
  • Redis学习笔记(四)--安全
    Redis学习笔记(四)--安全 基于Redis6之前版本 一、设置数据库密码 配置文件“redis.conf”修改,需重启服务器 在配置文件中“redis.conf”设置"requirepass 123456" 通过"confi...
    99+
    2017-03-22
    Redis学习笔记(四)--安全
  • Redis笔记总结(狂神说)
    Redis最新超详细版教程通俗易懂 一、Nosql概述 为什么使用Nosql 单机Mysql时代 90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题 数据量增加到一定程度,单机数据库就放不...
    99+
    2017-01-25
    Redis笔记总结(狂神说)
  • redis笔记-数据结构篇
    2018-1-3 by Atlas 1. SDS 描述 redis底层是C语言编写,而redis没有直接使用C语言的字符串表示,是自己构建了一种名为简单动态字符串的抽象类型,即SDS(simple ...
    99+
    2024-04-02
  • Redis笔记-Redis的安装和配置(一)
    大致的安装部骤如下,网上教程很多,此处简写1.解压2.进入src目录3.执行 make install 命令4.执行 redis-server 命令启动5.执行 redis-cli 命令连接Redis启动与...
    99+
    2024-04-02
  • Redis学习笔记:Redis在Windows下的安装
        一、Redis下载     官网下载地址:http://redis.io/download     GitHub下载地址:https://github.com/MSOpenTech/redis/tags     备注:现在...
    99+
    2019-02-14
    Redis学习笔记:Redis在Windows下的安装
  • Redis学习笔记:Redis在C#中的使用
        1、新建一个WinForm窗体,命名为Main:     2、在NuGet中安装StackExchange.Redis。     3、添加一个类,命名为RedisHelper。 public static ...
    99+
    2017-01-15
    Redis学习笔记:Redis在C#中的使用
  • Redis学习笔记(七) 数据库
    Redis 服务器将所有的数据库都保存在服务器状态redisServer结构的db数组中,db数组的每个项都是一个redisDB: struct redisServer{ //一个数组保存着服务器中的所有数据库 redi...
    99+
    2019-03-15
    Redis学习笔记(七) 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作