Redis安装和使用(基础篇)

是什么
对于认识事物。我总喜欢通过是什么,为什么,怎么做的方法来探索,其实许多生活中的很多事都这样,比如产品提的需求,不了解背景就无法解开需求真实的面纱,转入正题。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。特点:1、键值对存储 2、存储介质是内存 3、非关系型数据库

为什么用它

  1. 运行速度快,使用C语言编写,redis读写性能测试redis官网测试读写能到10万左右
  2. 简单稳定,持久化,存储在内存,但是可以将数据持久化到硬盘
  3. 有丰富的功能,提供键过期,实现缓存,提供了发布订阅功能,提供了流水线功能

如何使用

安装redis
redis的安装我参考的这篇文章:https://blog.csdn.net/yangwenxue1989/article/details/88884668
也有另外一种通过官网安装方式:https://redis.io/download 大家自行参考

数据类型和常用的操作:

Redis支持五种数据类型:字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)

字符串(String)的操作:
1.set key value 设置key的值
2.get key 获取指定 key 的值
3.del key 删除key值
4.mset key1 value1 key2 value2 --批量增加

127.0.0.1:6379> set name pengfei
OK
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> mset name pengfei age 18
OK
127.0.0.1:6379> get name
"pengfei"
127.0.0.1:6379> get age
"18"
127.0.0.1:6379>

哈希(Hash)的操作:
有些测试人员不理解hash,简单一句话是使存储空间更小,速度更快,一种压缩映射。
具体参考:https://www.jianshu.com/p/28d4198085c8

key {filed1: value, filed2:vaule…,fieldN:value}

1、hset key field value 设置hash key 对应的field的value
2、hdel key field 删除hash key 对应field的value
3、hexists key field 判断hash key是否有field
4、hget key field 查某一field值
5、hvals filed 查key对应的field-values
6、hlen key 计算field个数

127.0.0.1:6379> hset user:2:info age 20   #设置用户id为1的信息年龄是20
(integer) 1  
127.0.0.1:6379> hget user:2:info age      #获取id为1的用户信息的年龄
"20"
127.0.0.1:6379> hexists user:2:info age   #判断有值返回1,无值返回0
(integer) 1
127.0.0.1:6379> hlen user:2:info
(integer) 1

列表(list) 的操作
rpush key value [value …] 右边插入数据
lpush key value [value …] 左边插入数据
linsert key BEFORE|AFTER pivot value 在某个数值前/后插入数据
lrange key start stop
lindex key index
llen key
lpop key – 左弹
rpop key – 右弹
lset key index value --修改下标index的元素值

127.0.0.1:6379> rpush listkey a b c d
(integer) 4
127.0.0.1:6379> llen listkey
(integer) 4
127.0.0.1:6379> lrange listkey 0 3
1) "a"
2) "b"
3) "c"
4) "d"
127.0.0.1:6379> lpush listkey e f g h
(integer) 8
127.0.0.1:6379> lrange listkey 0 8
1) "h"
2) "g"
3) "f"
4) "e"
5) "a"
6) "b"
7) "c"
8) "d"
127.0.0.1:6379> lpop listkey
"h"
127.0.0.1:6379> rpop listkey
"d"
127.0.0.1:6379>

集合(sets) (集合内不允许相同的元素)的操作:
1、sadd key element 向集合key添加element
2、srem key element 将集合key中的element移除掉
3、scard setName 计算集合大小
4、sismember setName value 判断某个元素是否在集合中 (返回1是存在)
5、srandmember setName count 从集合中随机挑选count个元素 在集合中不会消失
6、spop setName #从集合中随机弹出一个元素,返回元素,在集合中消失
7、sdiff set1 set2 差集
8、sinter set1 set2 交集
9、sunion set1 set2 并集
10、smembers key --获取所有元素

127.0.0.1:6379> sadd set1  pengfei
(integer) 1
127.0.0.1:6379> srem set1 pengfei
(integer) 1
127.0.0.1:6379> sadd set1  pengfei
(integer) 1
127.0.0.1:6379> scard  set1
(integer) 1
127.0.0.1:6379> smembers set1
1) "pengfei"

有序集合(sorted sets)的操作
参考:https://www.cnblogs.com/ikai/p/11733951.html有序集合
其他的操作命令还有

Keys * 查询所有

keys home 精确查找

keys h* 模糊查找

ttl
-1 键没设置过期时间/永久有效
-2 键不存在
>0 键剩余的过期时间

type --查看键的类型

flushdb/flushall --删除数据

info memory --查看内存信息

select db --选择库

Expire – 设置过期时间

redis的可视化工具 RedisDesktopManager

redis的应用场景丰富,数据持久化,可设置过期时间,redis的单机版和集群版的应用场景,也是测试工程师必须掌握的技能之一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值