什么是redis?redis如何使用?

redis简单介绍

使用c语言编写的,支持网络交互的,内存中的key-value对存储的

  • 非关系型数据库
  • 不适合持久存储海量数据
  • 不适合复杂查询数据
  • 用途:前台页面数据的缓存
  • 在这里插入图片描述

redis安装配置

  1. 检查gcc 版本,要在5.3以上 gcc -v

  2. 下载:https://redis.io/download

    wget https://download.redis.io/releases/redis-6.2.4.tar.gz

  3. 解压: tar -zxvf redis-6.0.8.tar.gz

  4. 预编译: make

    创建文件: mikdir -p /usr/local/redis

    安装到指定目录: make install PREFIX=/usr/local/redis

    进入安装文件 bin 目录:cd /usr/local/redis/bin

    ./redis-server 启动服务

  5. 复制redis.config到redis安装目录 cp redis.conf /usr/local/redis/bin/

  6. 修改 redis.conf 文件 vim redis.conf

    1)后台运行: daemonize no 改为 daemonize yes.

    2)设置密码:requirepass 你的密码.

    ​ 文件内查找: /你搜索的内容

    ​ 回车

    ​ n 下一个

    ​ N 上一个.

    3)注释 绑定的 id,默认只能本机访问,这样就可可以远程访问了. #bind 127.0.0.1

  7. 启动命令: ./redis-server redis.conf

  8. 查看 Redis 运行状态: ps -ef | grep redis

  9. 进入客户端模式: ./redis-cli输入密码

  10. auth 密码

  11. 测试 ping

  12. ctrl+c 退出客户端模式

redis五种数据类型演示

先进入redis客户端

  • 进入客户端命令 ./redis-cli
  • 输入认证密码 auth 你的redis密码
  • 测试 ping
  • 退出客户端模式 ctrl+c
[你的登录用户名字@iZbp190ak0w1vyyfac0t34Z bin]# ./redis-cli
127.0.0.1:6379> auth 111
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name jim
OK

1) String 字符串

  • set 存储 键-值

  • get 获取键的值

  • del 删除键

    127.0.0.1:6379> set name jim
    OK
    127.0.0.1:6379> get name
    "jim"
    127.0.0.1:6379> set age 22
    OK
    127.0.0.1:6379> get age
    "22"
    127.0.0.1:6379> del age
    (integer) 1
    127.0.0.1:6379> get age
    (nil)
    

Redis 客户端可视化工具查看:

在这里插入图片描述

2)Hash 哈希

  • 键值对集合

  • 适合存储对象

  • 存的是字符串和字符串值之间的映射

    比如:user对象 的存储

  • hash存储user对象结构:

    a user就相当于一个键,他的值又可以时多个键值对。

在这里插入图片描述

127.0.0.1:6379> hmset user name jim age 22 gender man
OK
127.0.0.1:6379> hmget user name 
1) "jim"
127.0.0.1:6379> hmget user age
1) "22"
127.0.0.1:6379> hmget user gender
1) "man"

客户端可视化工具查看:
在这里插入图片描述

3)List 列表

  • 是字符串列表

  • 按插入顺序排序

  • 从头部(左边)添加 /从尾部(右边)添加

    • lpush list 从左边插入
    • rpush list 从右边插入
    • lrange list 0 5 查看插入的列表
  • 可以存储重复元素

  • list 存储结构

  • 在这里插入图片描述

127.0.0.1:6379> lpush list a
(integer) 1
127.0.0.1:6379> lpush list b
(integer) 2
127.0.0.1:6379> lrange list 0 5
1) "b"
2) "a"
127.0.0.1:6379> rpush list c
(integer) 3
127.0.0.1:6379> lrange list 0 5
1) "b"
2) "a"
3) "c"
127.0.0.1:6379> rpush list c
(integer) 4
127.0.0.1:6379> lrange list 0 5
1) "b"
2) "a"
3) "c"
4) "c"

可视化客户端工具查看:

在这里插入图片描述

4)Set 无需集合

  • 无序集合

  • 通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)

  • sadd key member 添加元素到集合

  • 不允许存储重复元素

127.0.0.1:6379> sadd set b
(integer) 1
127.0.0.1:6379> sadd set c
(integer) 1
127.0.0.1:6379> sadd set a
(integer) 1
127.0.0.1:6379> smembers set
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> sadd set a
(integer) 0
127.0.0.1:6379> smembers set
1) "a"
2) "c"
3) "b"

5)zset 有序集合

  • 每个元素关联一个double类型的分数(score),redis通过分数,从小到大排序
  • zset成员唯一,但是分数可以重复
  • zadd key score member 添加元素到集合
  • ZRANGEBYSCORE name 0 1000 查看zset有序集合
127.0.0.1:6379> zadd zset 2 b
(integer) 1
127.0.0.1:6379> zadd zset 1 a
(integer) 1
127.0.0.1:6379> zadd zset 3 c
(integer) 1
127.0.0.1:6379> zadd zset 4 c
(integer) 0
127.0.0.1:6379> ZRANGEBYSCORE zset 0 10
1) "a"
2) "b"
3) "c"

设置值时直接设置有效时间

  • EX 表示以秒为单位

  • PX 表示以毫秒为单位

    EX,PX 不区分大小写

  • set name jim EX 30 设置失效时间为 30 秒

  • 查看剩余时间

    ttl 键 查看剩余时间(秒)

    pttl 键 查看剩余时间(毫秒)

设置值后设置有效时间

  • expire 键 时间(秒)
  • pexpire 键 时间(毫秒)
127.0.0.1:6379> expire name 5
(integer) 1
127.0.0.1:6379> set name jim ex 10
OK
127.0.0.1:6379> set name jim ex 10
OK
127.0.0.1:6379> ttl name
(integer) 7
127.0.0.1:6379> ttl name
(integer) 5
127.0.0.1:6379> ttl name
(integer) 2
127.0.0.1:6379> ttl name
(integer) -2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋大米Pro

感谢小主大赏,留言可进互助群~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值