一、Redis 键(key)

1、Redis 键命令用于管理 redis 的键。

2、Redis 键命令的基本语法如下:redis 127.0.0.1:6379> COMMAND KEY_NAME

3、常用key命令

   keys *           获取所有的keyselect 0         选择第一个库move myString 1  将当前的数据库key移动到某个数据库,目标库有,则不能移动flush db         清除指定库randomkey        随机keytype key         类型set key1 value1  设置keyget key1         获取keymset key1 value1 key2 value2 key3 value3mget key1 key2 key3del key1         删除keyexists key       判断是否存在keyexpire key 10    10过期pexpire key 1000 毫秒persist key      删除过期时间

二、Redis 字符串(String)

1、Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:COMMAND KEY_NAME

2、常用命令

    set name cxx        设置name为cxxget name           获取namegetrange name 0 -1        字符串分段getset name new_cxx       设置值,返回旧值mset key1 key2            批量设置mget key1 key2            批量获取setnx key value           不存在就插入(not exists)setex key time value      过期时间(expire)setrange key index value  从index开始替换valueincr age        递增incrby age 10   递增decr age        递减decrby age 10   递减incrbyfloat     增减浮点数append          追加strlen          长度getbit/setbit/bitcount/bitop    位操作

三、Redis 哈希(Hash)

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

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

2、常用命令

   hset myhash name cxxhget myhash namehmset myhash name cxx age 25 note "i am notes"hmget myhash name age note   hgetall myhash               获取所有的hexists myhash name          是否存在hsetnx myhash score 100      设置不存在的hincrby myhash id 1          递增hdel myhash name             删除hkeys myhash                 只取keyhvals myhash                 只取valuehlen myhash                  长度

四、Redis 列表(List)

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

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

2、常用命令

lpush mylist a b c  左插入
rpush mylist x y z  右插入
lrange mylist 0 -1  数据集合
lpop mylist         弹出元素
rpop mylist         弹出元素
llen mylist         长度
lrem mylist count value  删除
lindex mylist 2          指定索引的值
lset mylist 2 n          索引设值
ltrim mylist 0 4         删除key
linsert mylist before a  插入
linsert mylist after a   插入
rpoplpush list list2     转移列表的数据

 

五、Redis 集合(Set)

1、Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

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

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

3、常用命令

sadd myset redis    向名为myset集合中插入元素redis
smembers myset       数据集合
srem myset set1      删除
sismember myset set1 判断元素是否在集合中
scard key_name       个数
sdiff | sinter | sunion 操作:集合间运算:差集 | 交集 | 并集
srandmember          随机获取集合中的元素
spop                 从集合中弹出一个元素

六、Redis 有序集合(sorted set)

1、Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

  不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

2、有序集合的成员是唯一的,但分数(score)却可以重复。

3、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

4、常用命令

zadd zset 1 one          向名为zset的有序集合中添加值one并关联上分数1
zadd zset 2 two
zadd zset 3 three
zincrby zset 1 one              增长分数
zscore zset two                 获取分数
zrange zset 0 -1 withscores     范围值
zrangebyscore zset 10 25 withscores 指定范围的值
zrangebyscore zset 10 25 withscores limit 1 2 分页
Zrevrangebyscore zset 10 25 withscores  指定范围的值
zcard zset  元素数量
Zcount zset 获得指定分数范围内的元素个数
Zrem zset one two        删除一个或多个元素
Zremrangebyrank zset 0 1  按照排名范围删除元素
Zremrangebyscore zset 0 1 按照分数范围删除元素
Zrank zset 0 -1    分数最小的元素排名为0
Zrevrank zset 0 -1  分数最大的元素排名为0

七、Redis HyperLogLog

1、Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。

   在Redis里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。

   但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。

2、基数:集合中不同元素的数量。比如 {'apple', 'banana', 'cherry', 'banana', 'apple'} 的基数就是 3 。

  估算值:算法给出的基数并不是精确的,可能会比实际稍微多一些或者稍微少一些,但会控制在合理的范围之内。

3、常用命令:

  PFADD key element [element ...]:将任意数量的元素添加到指定的 HyperLogLog 里面。

  PFCOUNT key [key ...] : 返回给定 HyperLogLog 的基数估算值

  PFMERGE destkey sourcekey [sourcekey ...]:将多个 HyperLogLog 合并为一个 HyperLogLog ,合并后的 HyperLogLog 的基数估算值是通过对所有
给定 HyperLogLog 进行并集计算得出的。

借鉴博客:https://www.cnblogs.com/cxxjohnson/p/9072383.html

     https://www.runoob.com/redis/redis-hyperloglog.html

     https://www.cnblogs.com/ysuzhaixuefei/p/4052110.html

转载于:https://www.cnblogs.com/dongtian-blogs/p/10801305.html

redis学习(四)相关推荐

  1. redis学习(四) 登录和cookie缓存

    <redis实战> 第二章 1.cookie缓存用户信息的两种方式 每当我们登录互联网服务时,这些服务会使用cookie记录我们的身份 .cookie由少量数据组成,网站会要求我们浏览器存 ...

  2. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

  3. 转-Redis学习手册(目录)

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  4. StackExchange.Redis学习笔记(五) 发布和订阅

    StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...

  5. python操作redis set_Python操作redis学习系列之(集合)set,redis set详解 (六)

    #-*- coding: utf-8 -*- importredis r= redis.Redis(host="126.56.74.190",port=639,password=& ...

  6. Redis学习记录之Java中的初步使用

    [html] view plain copy  redis下载地址:<span style="font-family: Arial, Helvetica, sans-serif;&qu ...

  7. Redis学习总结(数据类型、持久化、事务、数据删除策略、主从复制、哨兵、缓存雪崩等)

    Redis学习总结 1.Redis是什么 1.概念 2.特点 3.应用场景 2.Linux环境安装redis 3.Redis的数据存储格式 1.String类型 1.String类型的常用操作 2.S ...

  8. Redis学习笔记(实战篇)(自用)

    Redis学习笔记(实战篇)(自用) 本文根据黑马程序员的课程资料与百度搜索的资料共同整理所得,仅用于学习使用,如有侵权,请联系删除 文章目录 Redis学习笔记(实战篇)(自用) 1.基于Sessi ...

  9. Redis学习笔记(B站狂神说)(自己总结方便复习)

    Redis学习笔记B站狂神说 redis: 非关系型数据库 一.NoSQL概述 1.为什么要用Nosql 1.单机Mysql的年代 思考一下,这种情况下:整个网站的瓶颈是什么? 1.数据量如果太大,一 ...

  10. 菜鸟的redis学习总结

    菜鸟的redis学习总结 说明 一.Nosql和Mysql 二.Nosql常见类型及比较 三.简介 四.入门系列 (1)性能测试 (2)String类型 (3)List类型 (4)Set集合 (5)H ...

最新文章

  1. 一网打尽当下NoSQL类型、适用场景及使用公司
  2. 华硕服务器第三届“IT硬件平台搭建大赛”获奖方案
  3. linux命令0424
  4. CCNA--点对点协议(PPP)
  5. Java小结(三)——打印完美杨辉三角
  6. eclipse log4j 日志直接定位到source
  7. 无法嵌入互操作类型“……”,请改用适用的接口的解决方法
  8. 【已作废】基于Freeswitch的ASTPP计费系统的安装 (CentOS 7)
  9. 趣味Java算法题(附答案)
  10. vector中resize和reserve接口的异同
  11. Java 项目中一种简单的动态修改配置即时生效的方式 WatchService
  12. java操作Linux 调用shell命令,shell脚本
  13. Eclipse或MyEclipse—在Eclipse或MyEclipse中的操作(1)
  14. JavaScript高级程序
  15. IVS-163/167雷达距离测量的误差处理
  16. 使用STM32的I2S协议读取麦克风INMP441
  17. python selenium ActionChains类与鼠标的模拟事件
  18. MySQL的异步、半异步、组复制
  19. CSS3中steps()动画的详解
  20. 什么是GIS(地理信息系统)

热门文章

  1. 时间序列分析源资料汇总
  2. android sdk platform-tools 19.0.1,如何强制Android Studio 0.6.0使用SDK Build Tools 19.1.0
  3. python中item是什么类型的游戏_文本冒险游戏(Python)中的Item类
  4. sharepointa嵌入HTML网页,显示存储在SharePoint文档文件夹中的HTML页面
  5. P1468 派对灯 Party Lamps(BIG 模拟)
  6. DIY人脸跟踪电风扇送女朋友(1)
  7. 【转载】315M无线模块数据传输——深入研究
  8. 【Android 修炼手册】Gradle 篇 -- Gradle 的基本使用
  9. 哪些贷款是正规的?哪些贷款千万别碰?
  10. 有人说华为最大的对手是5年后的小米,你怎么看?