什么是redis
Redis是一个Key-value存储系统,redis提供了丰富的数据结构,包括string(字符串),list(列表),sets(集合),ordered set(有序集合),hashes(哈希)。可以对于这些数据执行原子操作,例如对字符串进行附加操作,递增哈希中的值,向列表中增加元素,计算集合的交集,并集和差集等。
Redis的优点
性能极高:redis能支持超过100k每秒的读写频率。
丰富的数据类型:set集合,ordered set有序集合,list列表,string字符串,hashes哈希
原子性:redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性执行
丰富的特性:Redis还支持public/subscribe,通知,key过期等等特性。
安装redis
1、wget
2、tar
3、make
开启redis
在../src/下开启redis-server(服务端)和redis-cli(客户端),先开启服务端。
使用netstat命令监听6379端口,netstat -nlt |grep "6379"(tcp,不做域名解析,显示socket)
redis命令
set数据类型命令
使用set和get命令来创建和检索string,set命令将取代任何已存在的key,set命令还有一个附加参数,可以让set命令只有在没有相同key的情况下成功,反之亦然,可以让set命令在有相同key的情况下成功
set mykey newval nx
set mykey newval xx
加法器
set sum 1
incr counter (sum=2)
incrby counter 50 (sum=52)
redis可以运用mset和mget命令一次性完成多个key-value的对应关系,使用mget命令,redis返回一个value数组
mset a 1 b c 3
mget a b c
list数据类型命令
lpush 插入一个新的元素到头部
rpush 插入一个新的元素到尾部
lrange 显示元素,需要两个索引,0表示list开头第一个,-1表示最后一个
brpop blpop 用阻塞式请求队列
hashes数据类型命令
hashes是字符串字段和字串值之间的映射
hmset命令设置一个多域的hash表
hget命令获取指定的单域
hgetall获取指定key的所有信息
hmget类似于hget,返回一个value数组
Set无序集合命令
sadd 命令产生一个无序集合,返回集合的元素个数
smembers 用于查看集合
sismember用于查看集合是否存在,匹配项包括集合名和元素个数,匹配成功返回1,匹配失败返回0
ordered set有序集合命令
Redis有序集合与普通集合很相似,是一个没有重复元素的字符串集合,不同之处是有序集合的每一个成员都关联了一个权值用来排序集合中的成员。
使用withscores参数返回记录值