目录
- redis数据形式
- redis使用命令
- Redis特性
redis数据形式
redis数据形式:key-value ;redis所有存放数据都是String类型
数据类型指的是value的类型:String、Hash、List、Set、SortedSet
String类型
创建 set username username
获取 get username
Hash类型
创建:hset hash1 field1 1 (field1代表域)
获取:hget hash1 field1
查看所有key:hkeys hash1
查看所有value:hvals hash1
查看所有key—value:hgetall hash1
删除:hdel hash1 fielsd3!
List类型(有顺序)
左添加:lpush list1 1 2 3 4 5 6(这是左边添加,右添加:rpush… )
查看所有:lrange list1 0 -1
取值:lpop list1 (左边取值,取完这个值就不存在了;右边取值:rpop list1)
Set(无序的,不能重复)
用途:去重
添加:sadd set1 a b a b c d(实际添加了4条数据 )
删除:srem set1 a
查看:smembers set1
特有运算:交、并、差…
SortSet
redis使用命令
set 、get
查看所有数据:keys *
加一,创建一个key:incr 名字 (作用:有时候统计网站访问量,高并发的时候多线程加一这时候性能上去了数计不准,这时候用redis计数速度快准确;或生成主键)
减一,删除一个key:decr 名字
对key进行分类存储
set school:grade:classs 1002
设置key过期时间
正数代表还剩多少秒
-1代表永久保存;持久化命令:Persist key
-2代表key不存在
设置了过期时间后还可以重置,命令相同
Redis特性
i. 速度快(读写性能可达10万/秒)
1. redis的所有数据都是存放在内存中
2. redis是用C语言实现的,C语言实现的程序“距离”操作系统更近
3. redis使用了单线程架构,预防了多线程可能产生的竞争问题
4. 少有的集性能和优雅于一身的开源代码
ii. 基于键值对的数据结构服务器
1.redis中的值不仅可以是字符串,而且还可以是具体的数据结构,这不仅能便于在许多应
用场景的开发,同事也能够提高开发效率。
2.redis主要提供5中数据结构:字符串、哈希、列表、集合、有序集合。
iii. 丰富的功能
1. 键过期功能,可以用来实现缓存
2. 发布订阅功能,可以用来实现消息系统
3. 支持Lua脚本功能,可以利用Lua创造出新的Redis命令
4. 提供了简单的事务功能,能在一定程度上保证事务特性
5. 提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到redis,减少网络的开销
iv. 简单稳定
1. redis的源码很少
2. redis使用单线程模型
3. redis不需要依赖于操作系统中的类库
v. 客户端语言多
1. redis提供了简单的TCP通信协议
2. redis的客户端语言非常多
vi. 持久化机制(将内存数据保存到硬盘中)
3. RDB
4. AOF
vii. 主从复制
1. 实现了多个相同的Redis副本,复制功能是分布式Redis的基础。