redis基础作为一种开源(bsd许可)的内存数据结构存储系统,redis可用于作为数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(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是单线程redis是基于内存操作的,cpu并不是redis的性能瓶颈,它的瓶颈取决于机器的内存和网络带宽,所以能用单线程实现那就用单线程好了。
那么为什么用单线程还能这么快?
首先有2个误区先要明确:
高性能的服务器不一定是多线程的。
多线程也不是一定比单线程效率高。
redis是将所有的数据放到内存里去,多线程的话反而会存在cpu切换上下文从而增加耗时,而对内存系统来说,没有上下文的切换,单线程操作效率就是最高的。
二、关于数据库的常用操作1. 默认数据库redis默认有16个数据库,默认使用是第一个数据库(下标为0)。可以查看下配置文件,里面有database 16。
2. 切换数据库select 3,可以切换到第4个数据库。
3. 查看数据库大小dbsize可以查看当前数据库大小。
这时,给数据库里set一个值,再次查看数据库大小,就变化了。
4. 清空数据库清空当前的数据库
flushdb
清空所有的数据库
flushall
三、关于redis-key的常用操作1. set 设置key 和 valueset name pingguo222
2. keys * 查看所有的key可以查看所有的key。这里切换回默认的数据库,查看所有key。
keys *
3. get key 的 valueget name
4. exists key 是否存在keyexists name
存在,则返回1,不存在则返回0。
5. move 移动 keymove 命令是将当前数据库的 key 移动到给定的数据库 db 当中。
move name 0
例如,假设当前位于3数据库,要执行命令将名为name的内容移动到0数据库。如果成功了返回1,失败了返回0。
6. 设置key过期时间我设置age 10s后过期,等10s后再次get就拿不到值了。
expire age 10
7. 查看key的剩余时间我设置name过期时间100s,使用ttl查看。
ttl name
8. 查看key的类型type name
命令实际上有很多,redis官网提供了查询命令的地方,后面啥不会就查啥。
以上就是redis入门基础常用操作命令实例分析的详细内容。