redis基本配置及使用

redis需知

先回顾一下mysql,mysql是存储在机器/服务器的硬盘中的,所以mysql读写都是需要从硬盘中读取,硬盘容量、带宽大小也就影响了读取速度,读取方式也会影响到整体的读取速度,当访问量、并发很大时,mysql就撑不住了,据统计,mysql的连接池并发数为500-1000,这时可以通过慢查询优化,cdn,页面静态话,Nginx负载均衡策略,或者分布式数据库来进行优化,当然也可以用redis高速缓存这种方式。
redis-高并发,内存高度cache,处理读写io的高并发容忍
redis通常被使用来将那些经常被访问的数据缓存在内存中
redis支持多种数据类型,包括k/v,list,set,zset,hash等数据结构的存储
redis支持master-slave模式应用,高可用的cache系统,支持集群服务器之间的数据同步
redis支持数据持久化存储,可用把内存中的数据保存在磁盘中,重启时再次加载即可使用

redis常用数据结构
结构类型 结构存储的值 结构读写能力
string 可以是字符串、整数、浮点数 对整个字符串或字符串的其中一部分执行操作,对整数和浮点数执行自增或自减
list 一个链表,链表上的每个节点都包含一个字符串 添加、获取、移除单个元素;检查一个元素是否存在于集合中;计算交集、并集、差集;从集合里面随机获取元素。
set 包含字符串的无需收集器,并且被包含的每个字符串都是独一无二,各不相同的 添加、获取、移除单个元素,检查元素是否在集合中,计算交集、合集、并集,从集合中随机获取元素
zset 字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定 添加、获取、删除单个元素;根据分值范围(range)或者成员来或许元素。
hash 包含键值对的无序散列表 添加、获取、移除单个键值对;获取所有键值对。

redis简单的一般是问数据结果的区别,缓存机制,集群机制,redis缓存和数据库读取的流程差异

redis的安装

参考以下安装文章
https://www.jianshu.com/p/e90317668ae2
https://redis.readthedocs.io/en/2.4/sorted_set.html

redis启动

在本地调试redis的话,需要先启动redis服务端,然后再在redis上进行操作
1.启动redis服务

redis-server

2.连接redis

redis-cli
#redis-cli -h host -p port -a password
127.0.0.1:6379>

127.0.0.1为主机默认ip,6379为默认端口
联通redis后,我们可以进行redis的正常读写功能

string操作
set name yeyeyeyey
set age 22
get name
get age

keys *
1) "age"
2) "name"
"yeyeyeyey"
"22"
hash操作

redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)

127.0.0.1:6379> HMSET key name 'lsj' age '25' sex "male"
127.0.0.1:6379> HGETALL key
1) "name"
2) "lsj"
3) "age"
4) "25"
5) "sex"
6) "male"
127.0.0.1:6379> HGET key name
"lsj"
127.0.0.1:6379> HGET key age
"25"
127.0.0.1:6379> HGET key sex
"male"

可以通过HMSET设置对应的值,可以通过HGET key name 来获取name值,或者HGETALL key来获取所有值

list操作
LPUSH listkey age name 10 0
127.0.0.1:6379> LRANGE listkey 0 10
1) "age"
2) "name"
3) "10"
4) "0"

通过lpush到对应的key值listkey插入数据,通过lrange 0 10 取出某个范围内的数值
本文仅简单介绍基本用法,更多详细教程可参考以下
https://www.runoob.com/redis/redis-lists.html

集合操作
127.0.0.1:6379> sadd testset redis
(integer) 1
127.0.0.1:6379> sadd testset mongodb
(integer) 1
127.0.0.1:6379> sadd testset sql
(integer) 1
127.0.0.1:6379> smembers testset
1) "sql"
2) "mongodb"
3) "redis"

sadd 进行集合新增操作,smembers查看集合中所有元素

有序集合操作
127.0.0.1:6379> zadd azset 1 redis
(integer) 1
127.0.0.1:6379> zadd azset 3 redisee
(integer) 1
127.0.0.1:6379> zadd azset 2 mysql
(integer) 1
127.0.0.1:6379> zadd azset 6 mongdb
(integer) 1
127.0.0.1:6379> ZRANGE azset 0 10
1) "redis"
2) "mysql"
3) "redisee"
4) "mongdb"

有序集合通过zadd添加数据,zrange展示范围内数据集

redis自带的性能测试命令
#以下实例同时执行 10000 个请求来检测性能
redis-benchmark -n 10000  -q

更多详情教程详见以下链接
https://www.runoob.com/redis/redis-tutorial.html

猜你喜欢

转载自www.cnblogs.com/yeyeyeyey/p/12121185.html
今日推荐