redis

1.redis简介

1.Redis 数据库的介绍
Redis 是使用C语言开发,支持网络,可基于内存亦可持久化的日志型 key--value 数据库,为开发语言提供多种API

#Redis特性:
1). redis存储数据,内存当中,可以将内存中的数据保存到磁盘中,重启可以在其加载
2). redis不仅仅支持 key-value 结构(hash) 的数据,字符串(string),list(列表),set(集合),zset(有序集合)
3). redis支持数据备份,master-slave模式的数据备份

#redis
1).性能极高 -redis读写速度可以达到110000次每秒,写入的速度81000次每秒
2).丰富的数据类型: hash,string,list,set,zset
3).原子性:redis的所有操作都是原子性的
4).丰富的特性:redis还支持publish / subcribe(发布和订阅),通知,数据过期

#redis的应用场景:
1.用来做缓存 -- redis的所有数据是放在内存中的(内存型的数据库)
2.可以应用再某些特定的场景,比如社交类应用
3.在一些大型的系统中,巧妙的实现一些特定功能:购物车,session的共享

2.redis启动 基于c/s架构

1.1 redis-server confpath(路径)
1.2 redis-cli

3.string类型的简单操作

1.单一的增加:set key value
2.多个增加:mest key1 value1 key2 value2
3.设置过期时间: setex key tiem value
4.追加: append key value

#查
1).单一查询: get key
2).多个查询: mget key1 key2 ......
3).查询数据的过期时间: ttl key
4).键的查询: keys *
 
#改
set key value

#删
1). del key1 key2 key3...
2).设置了过期时间的数据,到期后自动删除

3.hash类型

hash类型用于存储对象,对象的结构为 {‘属性‘: ‘值‘} 其中值的类型是string类型

# 增
1.单一的增加:hset key field value
2.多个增加(multiple): hmset key field1 value1 field2 value2
# 查
1.hget key field: 获取某个key对应的数据的一个字段的值
2.hkeys key: 获取某个key对应数据的说有字段名
3.hvals key: 获取某个key对应数据所有字段对应的值
4.hmget key field1 field2 ....: 获取某个key对应多个字段的值
5.hgetall key:获取某个key对应的所有键值对
# 改
hset key field value
# 删
1.hdel key field

4.list类型

# list类型
列表, redis当中列表的元素是string类型, 安装顺序插入, 元素是存在顺序的

4.1 增加
1.左侧插入数据: lpush key v1 v2 v3 ....
2.右侧插入数据: rpush key v1 v2 v3 ....
3.中间插入数据: linsert key before/after element value

4.2 查询:
# 语法:lrange key start stop
key: 数据的标签
start: 开始的位置, 0
stop: 结束的位置, 查询结果是包含stop索引位置元素的
    
# 查询全部:lrange key 0 -1
# 查询除最后一个元素之外的所有元素: lrange key 0 -2
# 查询索引位置为5的: lrange key 5 5

4.3 修改:
语法: lset key index value
index: 索引, 从左侧是0开始, 从右侧是-1开始

# 删除:
语法: lrem key count value    
count: 大于0, 从头部向尾部依次移除count个元素 ? ?
count: 小于0, 从尾部向头部 ? ?
count: 等于0全部删除