首页 > 数据库 >Redis简单入门

Redis简单入门

时间:2023-01-05 22:13:26浏览次数:38  
标签:username 存储 set 入门 Redis list key 简单

0 什么是Redis

redis的结构是key-value

key是字符串,value有5种类型

字符串类型,hash类型(map),set类型(不允许重复),list(linkedlist),有序集合类型(sortedset)

1 字符串类型

命令 代码
存储 set username siyu
获取 get username
删除 del username

字符串的使用场景:

1-缓存

2-计数器,通过incr key


2 hash类型(map)

命令 代码
存储key hset stu username siyu
存储value hset stu pwd 123
获取 hget stu username
获取所有 hgetall stu
删除 hdel stu username

hash 特别适合用于存储对象,后续操作的时候,

你可以直接仅仅修改 这个对象中的某个字段的值


3 list

命令 代码
左边存储 lpush list 1
右边存储 rpush list 1
获取 range list 0 -1
删除左边 lpop list
删除右边 rpop list

list 就是链表,Redis list 的应用场景非常多,也是Redis最重要的数据结构之一,比如微博的关注列表,粉丝列表,消息列表等功能都可以用Redis的 list 结构来实现。

使用lpush+rpop或者rpush+lpop实现消息队列。

Redis list 的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。

另外可以通过 lrange 命令,就是从某个元素开始读取多少个元素,可以基于 list 实现分页查询,这个很棒的一个功能,基 于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西(一页一页的往下走),性能高。


4 set

命令 代码
存储 sadd myset 5
获取 smembers myset
删除 srem myset 5

set 对外提供的功能与list类似是一个列表的功能,特殊之处在于 set 是可以自动排重的。 当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个

set集合内的重要接口,这个也是list所不能提供的。可以基于 set 轻易实现交集、并集、差集的操作。


5有序集合类型(不允许重复,且有序)

每一个元素都会关联一个double类型分数,redis正是通过分数来为集合成员排序

命令 代码
存储 zadd my 78 nezha
zrange my 0 -1
删除 zrem my nezha

直播系统中,实时排行信息包含直播间在线用户列表,各种礼物排行榜,弹幕消息(可以理解为按消息维度的消 息排行榜)等信息,适合使用 Redis 中的 Sorted Set 结构进行存储。

6 通用命令

命令 代码
查询所有key keys *
key对应类型 type key
删除符合key前缀 del key*
删除指定key del key
清当前库缓存 flushdb
清整个redis缓存 flushall

标签:username,存储,set,入门,Redis,list,key,简单
From: https://www.cnblogs.com/hellosiyu/p/17028962.html

相关文章

  • 浙大AI导论(入门)兴趣向(第四课)
    简单的AI应用:手写数字识别接下来我们将用一个封装好的 python 程序来进行手写数字识别,实现一个简单的 AI应用 首先我们需要引入一些必要的python库封装好我们的......
  • wpf最简单进度条
     <Windowx:Class="WpfApp1.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/......
  • 基于Redis通用缓存
    基于Redis通用缓存redis简介:流程:基于SpringAop切面类进行增强,逻辑如下1.数据进入controller层调用serviceservice调用对应dao方法进行查询前应该先从redis中查......
  • dremio PrivilegeCatalog 接口简单说明
    PrivilegeCatalog实际是一个权限检查的能力,同时dremio的StoragePlugin也提供了一个安全check能力StoragePlugin安全检查booleanhasAccessPermission(Str......
  • 实现简单的csv文件上传和bootstrap表格的下载
    一、写一个简单的页面并发送文件引入bootstrap.js,jQuery.js等,具体的网页就不细写了,很简单。加入input框,button控件,进度条。如下:<liclass="list-group-item"......
  • Redis AOF持久化
    aof日志这种保存写操作命令到日志的持久化方式,就是Redis里的AOF(*AppendOnlyFile*)持久化功能,注意只会记录写操作命令,读操作命令是不会被记录的。在Redis中A......
  • Flex入门的好书——《Flex3 Cookbook 中文版》
    本文标题:Flex入门的好书——《Flex3Cookbook中文版》   Flex3Cookbook中文版 中文目录:第一章.Flex和ActionScript基础(常青)1.1节.用FlexBuilder创建Flex项目......
  • Android 如何 简单的添加 启动页 SplashScreen
    1.在AndroidApp启动中,为了体验优化,各大App都是有添加启动页的,比较土的方法就是直接弄个loadingActivity,充当启动页,在启动初始化相关工作做完以后,再跳......
  • 简单的C#&PHP对称加解密
    byte[]ctxbytes=System.Text.Encoding.UTF8.GetBytes(ctx);byte[]keybytes=System.Text.Encoding.UTF8.GetBytes(key);intctxLen=ctxbytes.Length......
  • 浙大AI导论(入门)兴趣向(第二课)
    这里我们需要了解:AI是什么? 在讲AI之前我们先来看看人类的智能是什么?定义:在一系列环境下,解决一系列任务的能力(人脑是一个综合的智慧体,可以多方面实现不同的东西) 所以......