redis学习

一:redis介绍

redis是非关系型数据库,它按照键值对的方式进行数据的存储。

1.1:redis特点
  • 速度快
  • 支持数据持久化
  • 支持多种数据结构类型
  • 支持主从复制,分布式系统
1.2:redis应用场景
  • 缓存系统
  • 排行榜
  • 计数器
  • 存储社交消息
  • 消息队列
1.3:redis的数据类型
  • 字符串(string)
  • 哈希(Hash)
  • 列表(List)
  • 无序集合(Set)
  • 有序集合(Sort Set)
1.4:下载安装redis

第一步:点击下面地址进入github下载

https://github.com/MicrosoftArchive/redis/releases

第二步:点击图片的msi文件下载到本地

在这里插入图片描述

第三步:一路点next,注意到下面这个步骤时,记得点击add,自动配置系统环境变量

在这里插入图片描述

第四步:最后点击finish安装成功,找到自己的redis的安装路径,打开下面的exe就可以连接到数据库了

在这里插入图片描述

第五步:打开数据库的第二种方式,请看下面的1.5演示

在这里插入图片描述

1.5:如何在windows上连接redis?
  1. 打开cmd,输入下面的指令,连接到redis数据库

     redis-cli -h 127.0.0.1 -p 6379
    
  2. redis默认有15个数据库,编号是0-15,通过下列指令选择对用数据库

     select 编号
    

二:全局指令(任何数据类型下都可操作)

2.1:查看当前数据库所有的key

keys *

2.2:情况当前数据库

flushdb

2.3:情况所有数据库

flushall

2.4:获取当前数据库的key的个数

dbsize

2.5:查看value数据类型

type key

2.6:判读key时否存在

exists key

2.7:设置key的过期时间

expire key seconds

2.8:查看过期时间

ttl key

2.9:取消过期时间

persist key

三:redis的字符串操作

3.1:字符串的增删改查
//当设置的key不存在时,自动添加,反之则修改当前key对应的value
set 你的key 你的value

//数据的查找
get 你的key

//数据的删除
del 你的key

在这里插入图片描述

3.2:字符串高级操作

3.2.1:字符串的高级添加

//当设置的key存在时,不进行任何操作,当key不存在时,进行添加
setnx 你的key 你的value

//只有key存在时,对值进行更新操作,反之,不进行任何操作
set 你的key 你的value xx

在这里插入图片描述

3.2.2:字符串的批量处理

//批量添加
mset 你的key1 你的value1 你的key2 你的value2	

//批量的查询
mget 你的key1 你的key2 你的keyn

在这里插入图片描述

3.2.3:字符串的其它操作

//设置新值同时,返回旧的值
getset 你的key 你的value

//给旧的值末尾追加数据
append key 你的数据

//计算key对应值的字符串长度
strlen key

//获取指定下标的字符串值
getrange key 开始位置 结束位置

//设置指定下标的字符串的值
setrange key 下标 你的值

//字符串值自增1
incr 你的key

//字符串值自减1
decr 你的key

//字符串值增加指定数目
incrby 你的key 数目

//字符串值减少指定数目
decrby 你的key 数目

//字符串值增加或减少指定数目,小数,负数代表减少
incrbyfloat 你的key 数目

四:哈希类型(key对应的是一个对象)

4.0:哈希类型结构

key 属性1 值1

4.1:数据添加

//类比字符串,不存在添加,存在则覆盖
hset user name dzp

4.2:属性和key删除

//删除对应属性
hdel user name
//删除对应key
del user

4.3:属性查询

hget user name

4.4:属性批量添加和查询

//批量的添加
hmset user name dzp age 66

//批量的查询
hmget user name age

4.5:查询key保存属性的个数

hlen key

4.6:判读key是否保存某个属性

hexists key filed

4.7:查询key下的所有属性

hkeys key

4.8:查询key下所有属性对应的值

hvals key

4.9:查询key下所有属性和值

hgetall key

五:List(集合)

5.1:数据的添加

//从左边依次添加
lpush arr1 1 2 3 4 5
//从右边依次添加
rpush arr1 1 2 3 4 5

5.2:数据的查询

//begin指开始的位置,end是结束位置,end如果是-1,代表查询到末尾
lrange arr1 begin end

//查询指定索引下的数据,index是负数代表从后往前查找
lindex arr1 index

5.3:数据的修改

lset arr1 index value 

5.4:数据的删除

//删除最左边元素
lpop key

//删除最右边元素
rpop key

//删除指定元素指定次数
//count>0:从表头开始找,删除count个值
//count<0:从表尾开始找,删除count绝对值个数的值
//count=0:删除表所有value的值
lrem key value count

5.5:列表的截取

//截取列表指范围,返回新列表
ltrim key strat end

5.6:获取列表元素长度

llen key

5.7:指定元素前面或者后面插入元素

//给指定元素的前面或者后面插入数据
linsert key before/after oldValue newValue

六:Set集合(无序)

set集合中不能出现重复的数据

6.1:集合的添加

sadd key value1 value2 valuen

6.2:集合的查询

//获取集合所有数据
smembers key

//随机返回集合的N个元素
srandmember key N

6.3:集合的删除

//随机删除N个元素
spop key N

//删除指定元素
srem key value1 value2 value3...

6.4:统计集合元素个数

scard key

6.5:判读集合是否存在某个元素

sismember key value

6.6:集合的交集,并集,差集

//集合的交集
sinter key1 key2

//集合的并集
sunion key1 key2

//集合的差集
sdiff key1 key2

七:集合(有序)

有序集合是通过权重将集合数据进行自动排序

7.1:数据的添加

zadd key 权值1 value1 权值2 value2

7.2:数据的查询

//查询指定排名的元素
zrange key start end

//查询指定权重范围内的数据
zrangebyscore key 权值1 权值2

//查询某个元素的权值
zscore key value

//查询指定权值内元素的个数
zcount key 权值1 权值2

7.3:元素个数

zcard key

7.4:删除元素

//删除指定的元素
zrem key value

//删除指定排名内的所有元素
zremrangebyrank key start end

//删除指定权值内的所有元素
zremrangebyscore key 权值1 权值2

八:发布订阅

发布订阅有三个角色,发布者,频道,订阅者。其中发布者将信息发布到频到里面,订阅者可以在频到里面收到消息。

//订阅频道
subscribe 频道地址

//发布消息
publish 频到地址 消息

//退订频到
unsubscribe 频道地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值