redis使用

redis简介

Redis是一个非关系型【Nosql:key-value】的缓存数据库,实际开发中Redis一般作为缓存使用,加快查询效率
redis性能非常好,官方提供测试数据:50个并发执行10万个请求,读的速度是11万次/s,写的速度是8.1万次/s。

redis安装

安装步骤

  • 安装c所需要的预编译环境:yum install gcc-c++
  • 解压redis到指定目录:tar -zxvf redis-5.0.4.tar.gz -C /opt/install 其中大写的C指定解压到的目录
  • 进入到redis的解压目录进行编译安装
    编译:make(直接在解压目录下输入make即可)
    安装:make install PREFIX=/usr/local/redis
  • 配置环境变量 vim /etc/profile(末行模式:输入:$回车,即可到文档末尾)配置内容如图,保存退出
    使立即生效 source /etc/profile
    输入redis-server启动(前台启动,占用窗口),ctrl+c退出
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

redis启动

默认是前台启动,但是占用linux窗口,
如果想要设置为redis作为后台服务进程启动

  • 修改redis解压目录下的redis.conf文件:daemonize yes
  • 将redis解压目录下的redis.conf文件 复制到 /usr/local/redis/bin/redis.conf
  • redis-server /usr/local/redis/bin/redis.conf
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    本地启动客户端:redis-cli
    远程:redis-cli -h 192.168.32.187 -p 端口
    退出客户端;exit或quit
    从客户端关闭服务器端的redis
    在这里插入图片描述

图形化界面客户端

安装 redis-desktop-manager
修改配置文件,不然windows上的客户端连接不上
关闭保护模式
在这里插入图片描述
bind 127.0.0.1表示只能连接 ,所以我们需要注释掉这一行
在这里插入图片描述
保存退出
重启redis
在这里插入图片描述
添加一个键值对
在这里插入图片描述
在这里插入图片描述
十六个库
在这里插入图片描述默认是库1
在这里插入图片描述

redis操作

切换库
redis默认是16个库,在命令行中切换数据库   select <dbid>:dbid介于0到15

在这里插入图片描述

redis的5种数据类型

  • string
  • hash:类似于java中的map,适合存储对象类型
  • list:类似于java中List【有序、可重复的】,适合存储java中List集合数据类型
  • set:类似于java中set集合【无序、不可重复】,适合存储java中set集合数据类型
  • zset[Sorted Set]:排过序的集合,适合做排名

key的操作

  • keys k*:查看当前库中所有的key
  • type key:查看key的数据类型
  • flushdb清空当前选中的数据库
  • ttl key:查看某个key的存活时间,单位是秒
    返回值:
    正整数:key还剩下的存活时间
    -1:表示该键值对永不过期
    -2:表示这个键值对不存在
  • expire key second:设置某个key的过期时间
  • pexpire key milliseconds:生存时间设置单位为:毫秒
  • persist key :清除生存时间
  • exists key:查看某个key是否存在,存在返回1,不存在返回0
  • del key:删除某个key
  • rename oldkeyname newkeyname:给某个key修改名称
  • dbsize:查看当前库中所有的key的个数
  • info:查看当前redis服务器信息
  • move key dbid:将指定的key-value剪切到指定的库中

String类型
在这里插入图片描述

  • set key value:给指定的key设置对应的value

  • get key:根据指定的key取出该key对应的值

  • mset key1 value1 key2 value2…:同时给多个键指定相应的值

  • mget key1 key2…:同时获取多个键对应的值

修改:

  • getset key newvalue:先将该key对应的值获取到,然后再给该key设置一个新值

  • incr key:表示给key对应的value值增加1,要求:key对应的value必须是数值类型

  • incrby key increment:表示给key对应的value值增加指定的幅度。要求:key对应的value必须是数值类型

  • decr key:表示给key对应的value值减加1

  • decrby key decrement:表示给key对应的value值减少指定的幅度

  • append key newvalue:表示给该key对应的值后面拼接一个newvalue

  • del key:删除指定的key-value

hash类型
在这里插入图片描述

  • hset key field value;给某个key添加一个field-value值

  • hget key field:读取某个key的某个field值

  • hmset key field1 value1 field2 value2:给某个key同时设置多个field-value1

  • hmget key field1 field2:同时获取某个key的多个field值

  • hsetnx key field value:当某个key的field不存在的时候,给它设置一个值。如果存在,不做修改。

  • hkeys key:查看某个key的所有field

  • hvals key:查看某个key的所有的field对应的value

  • hgetall key:查看某个key所有的field及field对应的值

  • hdel key field:删除某个key中的某个指定的field

  • del key:删除key及key对应的所有的field-value

  • hincrby key field increment:给某个key的指定的某个field对应的value值加指定的幅度(减的话加上-)

  • hexists key field:判断指定的key中的filed是否存在,存在返回1,不存在返回0

  • hlen key:查看指定这个key的所有field的数量

list类型

  • lpush key value1 value2 value3: 从左边往key对应的list集合中推入value1、value2、value3

  • rpush key value1 value2 value3:从右边往key对应的list集合中推入value1、value2、value3

  • lpop key:表示从这个key对应的集合中最左边弹出一个元素。

  • rpop key:表示从这个key对应的集合中最右边弹出一个元素

  • lrange key start stop: 查看指定的某个key对应的列表

  • llen key:查看某个key对应的集合中元素的个数

set类型

  • sadd key value1 value2 value3:往指定key对应的集合中添加数据

  • srem key value1:移除指定key对应的set集合中的某个value值

  • sismember key value1:判断指定key对应的set集合中是否含有某个value元素,有返回1,没有返回0

  • sdiff key1 key2:求两个集合的差集(key1 - key2)

  • sinter key1 key2:查看两个集合的交集

  • sunion key1 key2:求两个集合的并集

  • scard key:获取某个key对应的集合中元素的数量

  • srandmember key:随机读取指定key对应的集合中的某个元素

  • smembers key:查看某个key对应的set集合中的所有元素

zset类型

  • zadd key1 89 value1 20 value2 40 value3:
  • zscore key1 value1:查看指定的key对应集合中的某个元素的分数
  • zrem key1 value:删除指定集合的某个元素
  • zrange key start stop [WITHSCORES]:查看指定的集合中的某些元素
  • zrevrange key start stop [WITHSCORES]:按着分数由高到低查看集合中的某些元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值