redis(1)---redis linux下单机搭建、数据结构、常用命令

1.redis单机搭建

redis单机版搭建十分简单,因为redis是C语言写的因此它要依赖gcc环境,
在linux上使用命令查看环境

gcc -v

如果没有gcc环境可在线安装

yum install gcc

至此基础环境已经做完 开始搭建
1)官网下载redis安装包 redis官网
2)放到linux指定目录下并解压 目录如下
在这里插入图片描述
3)进入redis-5.0.5目录 执行 命令

make & make install

4)编译完成后 在src目录下可以看到 redis-server 可执行文件
执行该文件便可以启动redis实例

单机版的redis安装完成

2.redis常用数据结构 与命令

redis命令可查看官网 redis命令中文网
下面会列举一些常用的命令
redis常用五大数据结构
1)String 字符串

set  name  shilei    设置一个key
get  name              获取key 的值
append  name 1    在key 为name 的value后面追加字符串1
exists   name    判断name 
move  name  1  将key为name 的值 移动到第二个数据库   单机状态下使用
type  name    查看key为name 的数据类型
expire  name     10     设置key为name
 incr key        value增加1  必须value是数字     原子操作可作为分布式锁
 decr key        value减1     必须value是数字    原子操作可作为分布式锁
 incrby  key n    同上 数字增加n
 decrby  key n    同上 数字减少n
 setex key n value  设置key可以存活n秒
 setnx  key  value   没有key的情况下写入redis  有key写不进去
 mset key value key value 。。。批量写入redis      
 mget key key key 。。。  批量获取key     
 msetnx  key value key value 。。。  没有key的情况下写入redis  有key写不进去  有一个key已存在全体失败
 集群状态下做批量操作需包装这些key对应的槽位是在同一台redis机器上

2)hashes 散列
可以对比与hashMap

Map  user = new HashMap<>();
user.put("id","1");

hset  user  id 1 将user对象中id属性设置为1
hget  user  id   获取user对象中id属性
hmset customer id 11 name shilei age 26   同时设置customer对象中id name age 属性
hmget  customer id name age  同时获取
hgetall customer  获取 所有属性和值
hdel user name  删除user对象中name属性和值
hlen   user   user 对象中几个属性
hexists  user id  判断user对象中是否有id属性
hkeys user 获取user对象中所有属性
hvals user  获取user对象中所有属性的值
hincrby user age 2  对user对象的age属性的值加2
hincrbyfloat user score 0.5 对user对象的score属性的值增加一个float值
hsetnx user age 25  不存在则写入  同setnx

3)lists 列表

类比与ArrayList理解
List  list =  new Array

lpush  list 1 2 3   写入list   3 在栈顶
rpush list 1 2 3 写入list   1 在栈顶
lpop list    删除list中元素  栈顶先出
rpop list   删除list中元素  栈底先出
blpop  list  删除list中元素  栈顶先出  没有就阻塞  可以设置阻塞时间
brpop  list  删除list中元素  栈底先出  没有就阻塞  可以设置阻塞时间

4)sets 集合

sadd  set value  value 。。。。   在set集合中添加值  会过滤重复的值
smembers set   获取set 中所有元素
spop set   在set元素中随机一个出栈
smove set01 set02 m  将set01中的m值移动到set02中
sdiff  set01 set02 在set01里面不在set02里面    差集
sinter  set01 set02  同时在set01和set02里面    交集
sunion   set01  set02  在set01和set02里面所有的值 过滤重复的  并集

5)sorted sets 有序集合

  zadd zset01 60 v1 70 v2     增加一个有序set 
  zcard zset01     获取一个排序的集合的成员数量
  zrange zset01 0 -1
  zrange zset01 0 -1 withsorces
  zrangebyscore zset01 60 90       查看集合中分数大于等于60 小于等于90 
  zrangebyscore zset01 (60 90 
  zrangebyscore zset01 60 (90   
  zrangebyscore zset01 (60 (90

其他常用命令

keys:全量遍历键,用来列出所有满足特定正则字符串规则的key,当redis数据量比较大时,性能比较差,要避免使用

scan:渐进式遍历键,scan 参数提供了三个参数,第一个是 cursor 整数值,第二个是 key 的正则模式,第三个是遍历的 limit hint。第一次遍历时,cursor 值为 0,然后将返回结果中第一个整数值作为下一次遍历的 cursor。一直遍历到返回的 cursor 值为 0 时结束。     scan 0 match name*  count 	1000

Info:查看redis服务运行信息,分为 9 大块,每个块都有非常多的参数,这 9 个块分别是: 
Server 服务器运行的环境参数 
Clients 客户端相关信息 
Memory 服务器运行内存统计数据 
Persistence 持久化信息 
Stats 通用统计数据 
Replication 主从复制相关信息 
CPU CPU 使用情况 
Cluster 集群信息 
KeySpace 键值对统计数量信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值