第四章:Redis基础知识

Redis可用作数据库缓存消息中间件

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

Redis默认有16个数据库
默认使用的是第0个数据库;

1、可以使用select 进行数据库切换:

127.0.0.1:6379> select 0
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]>

2、查看所有的key:key *
3、清空当前数据库:flushdb
4、清空所有数据库:flushall
5、判断当前的key是否存在 EXISTS NAME
6、移出当前的key move name 1
7、设置key过期时间,单位是秒 EXPIRE name 10
8、查看当前key的剩余时间 ttl name
9、查看当前key的类型 type name
10、setex key3 30 "hello" 设置过期时间
11、setnx mykey "MongoDB" 不存在再设置(分布式锁中常常使用)
12、批量设置 mset key1 v1 key2 v2 key3 v3
13、批量获取 mget key1 key2 key3
14、普通存值,set key
15、普通取值,get key


1602142286(1).jpg

后面遇到不会的命令,可以从官网上查看帮助文档


1602144854(1).png

Redis是单线程的
官方表示,Redis是基于内存操作的,CPU不是Redis的性能瓶颈,Redis的瓶颈是根据j机器的内存和网络带宽的
Redis是C语言写的

Redis是单线程为什么还这么快?
1、误区一:高性能的服务器,一定是多线程的?
2、误区二:多线程(cpu上下文会切换!)一定比单线程高?
速度比较:cup>内存>硬盘
核心:redis是将所有的数据全都放到内存中,所以说使用单线程去操作效率就是最高的!多线程(CPU会上下文切换,耗时的操作)对于内存系统来说,没有上下文切换,效率就是最高的。
为什么Redis的端口为6379?(了解一下即可)
6379在是手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字。MERZ长期以来被Redis作者antirez及其朋友当作愚蠢的代名词。后来Redis作者在开发Redis时就选用了这个端口。

你可能感兴趣的:(第四章:Redis基础知识)