(5)非关系型数据库redis的基本介绍及操作

1.概念

NOSQL

  • 非关系型数据库
  • 没有表结构
  • 高性能

Redis

  • 高性能
  • 键值对形式存储
  • 数据存储在内存

在这里插入图片描述

2.服务端和客户端

服务端:

1.启动
redis-server

2.关闭

  1. Ctrl+c
  2. ps -aux | grep ‘redis’
    kill 进程号

客户端
(连接服务端成功后,打开另一个终端连接客户端)
1.redis-cli
2. redis-cli --raw 解决中文乱码问题

测试是否连接成功
心跳测试 ping

redis切换
数据库没有名称默认16个,通过0-15来标识
切换数据库 0-15
select 1
select 15

3.key-value
  • 键值对存储数据
    键:相当于数据的名称
    值:相当于存储的数据

  • 键特点:
    键不能重复
    数据类型是字符串

  • Redis 常见5种数据类型

  1. String
  2. 哈希 hash
  3. 链表List
  4. 无序集合set
  5. 有序集合zset
    在这里插入图片描述
4.string

介绍:

  • 最基本的数据类型
  • 存储任何的数据

string语法介绍
增加和修改

– 增加一个值
set key value
例:
set name1 悟空

– 增加多个值
mset key1 value1 key2 value2

获取
get key

–修改
set key value (已存在的键值)

– 设置键值对过期时间
setex key 秒 value
在多少秒后过期,键值对不存在

练习:设置10秒键值对
setex name5 10 hehe
get name5

—追加
append key

练习:
孙悟空 增加 齐天大圣

set name5 孙悟空

append name5 齐天大圣

string获取

  • 获取一个键值对的值
    get key

例:
get name1

获取多个键值对得值
mget key1 key2

例:
mget add1 add2 add3

5.键命令

–键的查看
1.通过正则表达式 差看键
keys 正则表达式

– 查看所有键
keys *

–查看name开头大keys
keys name*

– 查看包含a的键

keys *a*

2.查看键是否存在
exists key1

–返回1代表存在,返回0代表不存在

exists key1 key2

– 返回结果的和

– 查看键–值得数据类型

type key

例:
type name1

– 删除键
del key
例:
del add1

del add2 add3

–2.设置有效时间

expire key 时间

例:
expire user 10

–3.查看过期时间剩余多少
ttl key

例:
ttl add1

  • =0 返回有效时间

  • -2 键无效了, 不存在
  • -1 键永久有效
6.hash

介绍: 键值对,值里面是键值对的集合,方便数据的处理

  • 值里面的键值对,值只能是字符串,不能再放键值对

在这里插入图片描述(值里面的键称为属性)

语法介绍:

  1. hash 增加键值
    增加单个属性
    hset key field value

–练习设置老大的属性
hset laoda name liubei
hset laoda yanse bai

–增加多个属性
hmset key field value1 field2 value2

例:设置老二属性
hmset laoer name guanyu yanse hong

–修改 对于存在的键值对再次设置

  1. –获取哈希 键值对的信息

– 1.获取所有的属性
hkeys key

例:获取老大的属性名
hkeys laoda

–2 获取所有的属性值
hvals key

例:获取老大的属性值
hvals laoda

–3获取所有的 一个属性的值
hget key field
例:获取老大的姓名
hget laoda name

–4. 获取所有的多个属性的值
hmget key field1 field2

例:获取老大的姓名颜色
hmget laoda name yanse

–5.获取所有的属性和值
hgetall key

例:-获取老大的所有信息
hgetall laoda

— 哈希删除
1.删除整个键
del key
2.删除键的属性
hdel key field1 field2

例:删除老二的姓名颜色
hdel laoer name yanse

7.list

介绍:

  • 双向链表
  • 按照顺序添加排序
  • 数据类型是string
1. 增加
-- 从左侧插入
lpush key value1 value2 value3..
练习--从左侧插入1 2 3
lpush lo 1 2 3
--从右侧插入
rpush key value1 value2..
例: 从右侧插入4 5 6
rpush lo 4 5 6

结果是3 2 1 4 5 6



从指定位置前后插入元素
linsert key before/after 元素 新元素
例:1的前面插入111,后面插入222
linsert lo before 1 111
linsert lo after 1 222

获取的三种方式
正数从0开始 左侧开始 增加
负数从-1开始右侧开始减少

--从左侧获取正数
lrange keystart stop
例:获取前三个
lrange lo  0 2
-- 从右侧获取负数
例:获取后三个
lrange lo -3 -1

--获取全部
lrange lo 0 -1

-- 修改根据下标指定位置的元素进行修改
lset key 下标 值
--将第二个改为300
lset lo 1 300

--将倒数第二个改为500
lset lo -2 500

1.删除指定元素
语法:
lrem key count value
count>0 从头到尾
count<0从尾到头
count=0全部移除
例:删除前2 ho
lrem li 2 ho
--删除后2 h1
lrem li -2 h1

删除全部h1
lrem li 0 h1

8.set
介绍:
1.无序集合
2.元素的值是唯一的不能重复
3.没有修改操作

(1.增加
sadd key member1 member2..

例:葫芦添加大娃二娃
sadd hulu dawa erwa
(2.获取所有成员信息
smembers key
例:获取葫芦里所有成员信息
smembers hulu

(3.删除指定元素
srem key member1 member2
例:删除大娃和二娃
srem hulu dawa erwa

9.zset

介绍:
1.有序集合
2.存储内容STring.元素唯一不重复
3.没有修改操作
4.给每个元素分配分数

  1. 分数从小到大排序
  2. 可以相同 可以是负数
1.增加
zadd key scorel member1 score2
例:增加师徒四人
zadd xiyou 1 tangseng 3 bajie 2 sunwukong 4 shaseng
2.获取(顺序)
zrange key start stop
例:取前两个
zrange xiyou 0 1--前2
zrange xiyou 0 -1--全部
zrange xiyou -2 -1--后2
3.获取(分数范围)
zrangebyscore key min max
例获取1 3之间元素
zrangebyscore xiyou 1 3

4.获取元素的分数值
zscore key member
例:获取八戒的分数值
zscore xiyou bajie

1.删除指定元素(元素值)
zrem key member1 member2
例:删除沙僧
zrem xiyou shaseng
2.通过分数范围
删除元素
zremrangebyscore key min max
例:删除2-4分数间的元素
zremrangebyscore xiyou 2 4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值