redis的字符串和列表,及集合的操作

4 篇文章 0 订阅
1 篇文章 0 订阅

Redis

安装

了解Redis环境的搭建

下载

  • 当前redis最新版本是4.0,它是一个测试版本,稳定版本是3.2版本。

  • 当前ubuntu虚拟机中已经安装好了redis,以下步骤可以跳过 最新稳定版本下载链接:http://download.redis.io/releases/redis-3.2.8.tar.gz

  • step1:下载

    wget http://download.redis.io/releases/redis-3.2.8.tar.gz
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQKcOvKv-1607648509979)(G:\Python\typora\图片\image-20201202082144183.png)]

  • step2:解压

    tar -zxvf redis-3.2.8.tar.gz
    

    step3:复制,放到usr/local目录下

    sudo mv ./redis-3.2.8 /usr/local/redis/
    
  • step4:进入redis目录录

    cd /usr/local/redis/
    
  • step5:生成

    sudo make
    
  • step6:测试,这段运行时间会较长

    sudo make test
    
  • step7:安装,将redis的命令安装到/usr/local/bin/目录

    sudo make install
    
  • step8:安装完成后,我们进入目录/usr/local/bin中查看

    cd /usr/local/bin
    ls -all
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uafz8IuR-1607648509982)(G:\Python\typora\图片\Redis的常见命令.png)]

    redis-server redis服务器
    redis-cli redis命令行客户端
    redis-benchmark redis性能测试工具
    redis-check-aof AOF文件修复工具
    redis-check-rdb RDB文件检索工具
    
    • step9:配置⽂件,移动到/etc/目录下

    • 配置⽂件⽬录为/usr/local/redis/redis.conf

      sudo cp /usr/local/redis/redis.conf /etc/redis/
      

配置

学习目标

  • 了解Redis的配置

配置

  • Redis的配置信息在/etc/redis/redis.conf下。

  • 查看

    sudo vi /etc/redis/redis.conf
    

核心配置选项

  • 绑定ip:如果需要远程访问,可将此行注释,或绑定多个真实ip

    bind 127.0.0.1
    

    端⼝,默认为6379

    port 6379
    
  • 是否以守护进程运行

    • 如果以守护进程运行,则不会在命令行阻塞,类似于服务
    • 如果以非守护进程运行,则当前终端被阻塞
    • 设置为yes表示守护进程,设置为no表示非守护进程
    • 推荐设置为yes
    daemonize yes
    
  • 数据文件

    daemonize dump.rdb
    
  • 数据文件存储路径

    dir /var/lib/redis
    
  • 日志文件

    logfile /var/log/redis/redis-server.log
    
  • 数据库,默认有16个

    database 16
    
  • 主从赋值,类似于双机备份

    slaveof
    

服务器和客户端命令

服务器端

  • 服务器端的命令为redis-server

  • 可以使用–help查看帮助文档

    redis-server --help
    
  • 推荐使用服务的方式管理redis服务

  • 启动

    sudo service redis start
    
  • 停止

    sudo service redis stop
    
  • 重启

    sudo service redis restart
    
  • 个人习惯

    ps -ef | grepredis 查看redis服务器进程
    sudo kill -9 pid 杀死redis服务器
    sudo redis-server /etc/redis/redis.conf  指定加载的配置文件
    

客户端

  • 客户端的命令为

    redis-cli
    
  • 可以使用-help查看帮助文档

    redis-cli --help
    
  • 连接redis

    redis-cli
    

  • 运行测试命令

    ping
    
  • 切换数据库

  • 数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

    select n
    

数据操作

  • redis是key-value的数据结构,每一条数据都是一个键值对

  • 键的类型是字符串

  • 注意:键不能重复

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEiqSi7O-1607648509984)(G:\Python\typora\图片\image-20201203201133718.png)]

  • 值为类型分为五种:

    • 字符串string
    • 哈希hash
    • 列表list
    • 集合set
    • 有序集合zset

数据操作行为

  • 保存
  • 修改
  • 获取
  • 删除

点击查看命令中心的文档http://redis.cn/commands.html

string

string类型
  • 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。redis数据库默认的端口号为:6379
redis数据库操作
  • redis数据库默认有16个数据库[0-15],默认进入的是0库
  • select 数据库名: 切换数据库
  • keys * : 查看所有的键
  • expire 键 秒数 : 设置过期时间
  • persist 键 : 移除过期时间
  • del 键 : 指定键进行删除.返回值代表删除的个数
  • flushdb : 清空当前数据库中的所有的内容
  • flushall : 清空所有数据库的所有的内容
字符串的操作
  • set key value :设置一个键值对,返回ok代表设置成功,如果key存在,相当于修改
  • get key : 获取对应的键的值
  • setnx key value : 设置一个键值对,如果键存在,不会覆盖,不存在则设置
  • setex key 秒数 : 设置一个指定有效的键值对
  • setrange key 偏移量(索引) value : 替换,从偏移量的位置开始替换,返回值是替换之后的字符串的长度
  • mset key1 value1 key2 value2 … : 批量设置键值对
  • mget key1 value1 key2 value2 … : 批量获取键值对
  • msetnx key1 value1 key2 value2 … : 批量设置键值对,如果键存在不会覆盖,不存在则创建
  • getset key new_value : 获取key的原值,设置新值,返回的是原值
  • getrange key start end : 获取指定范围(索引范围[start,end])的内容
  • incr key : 给对应的键的值++,就是+1
  • incrby key value : 给对应的值,加上指定的数
  • decr key value : 给对应键的值–,就是-1
  • decrby key value : 给指定的键追加指定的值,返回值是增加后的总长度
  • strlen key : 查看字符串的长度

redis数据库的列表操作指令

redis数据库的列表是双向链表结构,基于这种结构,redis数据库的列表可以实现栈和队列

  • lpush key value : 在列表头部插入元素,返回值代表添加后的列表的长度
  • lrange key start stop : 查看列表中指定范围的元素
  • rpush key value : 在列表的尾部插入元素
  • lpop key : 从头部弹出一个元素,返回值是删除的元素
  • rpop key :从尾部弹出一个元素,返回值是删除的元素
  • linsert key BEFORE|AFTER old_value new_value : 在原有元素之前或是之后插入一个元素,返回值是插入之后的列表的长度
  • lset key index new_value : 修改指定位置上的元素
  • lrem key count 值 : 从key中删除指定数量的元素
    • count > 0 代表头部开始删除
    • count = 0 代表全部删除
    • count < 0 代表从尾部删除
  • ltrim 键 索引 : 查看指定索引上的元素
  • llen 键 : 查看列表的长度
  • rpoplpush key1 key2 : 从key1的尾部删除元素,将删除的元素添加到key2的头部,返回值是删除的元素

redis数据库中的无序集合

  • sadd key member1 member2… : 向集合cherub多个元素,返回值是插入成功的元素数量
  • smembers key : 查看集合中的元素数量
  • srem key value1 value2 … : 指定成员进行删除,返回值是删除成功的的元素数量
  • spop key [count] : 从集合中随机弹出count个元素,默认弹出1个,返回值是弹出的元素
  • srandmember key [count] : 随机获取count个元素,默认取一个,返回值是获取的元素
  • smove key1 key 2 value : 将key1中的value移动到key2中
  • scard key : 查看集合长度
  • sdiff key : 查看两个集合的差集
  • sinter key1 key2 : 查看两个集合的子集
  • sunion key1 key2 : 查看两个集合的并集
  • sismember key value : 判断value是否在集合中存在,返回值1代表存在,0代表不存在
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值