Redis基础学习

学习地址:黑马最新JavaWeb入门到入土(idea版)day22-23的课程
配套资源:Ajax&Json基础学习和redis基础学习.zip

Ajax和Json的博客:https://blog.csdn.net/H200102/article/details/110646225

使用Ajax和Json还有Redis实现的案例:https://blog.csdn.net/H200102/article/details/110648690

压缩包文件内容:
在这里插入图片描述

四、Redis

1、概念

  1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库。

  2. Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数
    据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过
    提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
    1) 字符串类型 string
    2)哈希类型 hash
    3)列表类型 list
    4)集合类型 set
    5)有序集合类型 sortedset

  3. redis的应用场景
    • 缓存(数据查询、短连接、新闻内容、商品内容等等)
    • 聊天室的在线好友列表
    • 任务队列。(秒杀、抢购、12306等等)
    • 应用排行榜
    • 网站访问统计
    • 数据过期处理(可以精确到毫秒
    • 分布式集群架构中的session分离

2、NOSQL和关系型数据库比较

优点:
1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。
2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。 速度快
3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。 格式更丰富
4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。

缺点:
1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10几年的技术同日而语。
2)不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定用户的学习和使用成本。
3)不提供关系型数据库对事务的处理。

3、Redis的使用

(1)下载安装:

  1. 官网:https://redis.io
  2. 中文网:http://www.redis.net.cn/
  3. 解压直接可以使用:
    1)redis.windows.conf:配置文件
    2)redis-cli.exe:redis的客户端
    3)redis-server.exe:redis服务器端

使用的时候,一般都是部署在Linux的操作系统上。
在这里插入图片描述

(2)redis的数据结构:

redis的数据结构:

  • redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构

  • value的数据结构:
    1)字符串类型 string
    2)哈希类型 hash : map格式
    3)列表类型 list : linkedlist格式。支持重复元素
    4)集合类型 set : 不允许重复元素
    5)有序集合类型 sortedset:不允许重复元素,且元素有顺序

(3)字符串类型 string

  1. 存储: set key value
127.0.0.1:6379> set username zhangsan
OK
  1. 获取: get key
127.0.0.1:6379> get username
"zhangsan"
  1. 删除: del key
127.0.0.1:6379> del age
(integer) 1

(4)哈希类型hash

  1. 存储: hset key field value
127.0.0.1:6379> hset myhash username lisi
(integer) 1
127.0.0.1:6379> hset myhash password 123
(integer) 1
  1. 获取:
  • hget key field: 获取指定的field对应的值
127.0.0.1:6379> hget myhash username
"lisi"
  • hgetall key:获取所有的field和value
127.0.0.1:6379> hgetall myhash
1"username"
2"lisi"
3"password"
4"123"
  1. 删除: hdel key field
127.0.0.1:6379> hdel myhash username
(integer) 1

(5)列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边)

  1. 添加:
    1. lpush key value: 将元素加入列表左表
    2. rpush key value:将元素加入列表右边
127.0.0.1:6379> lpush myList a
(integer) 1
127.0.0.1:6379> lpush myList b
(integer) 2
127.0.0.1:6379> rpush myList c
(integer) 3
  1. 获取:
  • lrange key start end :范围获取
127.0.0.1:6379> lrange myList 0 -1
	1) "b"
	2) "a"
	3) "c"
  1. 删除:
  • lpop key: 删除列表最左边的元素,并将元素返回
  • rpop key: 删除列表最右边的元素,并将元素返回

(6)集合类型set:不允许重复元素

  1. 存储:sadd key value
127.0.0.1:6379> sadd myset a
(integer) 1
127.0.0.1:6379> sadd myset a
(integer) 0
  1. 获取:smembers key:获取set集合中所有元素
127.0.0.1:6379> smembers myset
	1) "a"
  1. 删除:srem key value:删除set集合中的某个元素
127.0.0.1:6379> srem myset a
(integer) 1

(7)有序集合类型 sortedset:不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

  1. 存储:zadd key score value
127.0.0.1:6379> zadd mysort 60 zhangsan
(integer) 1
127.0.0.1:6379> zadd mysort 50 lisi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值