Redis数据库
- Redis 是一个高性能的key-value数据库
- 主要用Redis实现缓存数据的存储,可以设置过期时间.对于一些高频读写、临时存储的数据特别适合
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s
1. redis String基本使用
- 设置键值
set key value
例:set name yuhao 设置 键为name,值为yuhao的数据
- 设置键值及过期时间,以秒为单位
Setex key seconds value
例:setex aa 3 aa 设置 键为aa, 值为aa 的数据,过期时间为3秒
- 获取:根据键获取值,如果不存在则此键返回nil
get key
例:get ’name‘ 获取键 ’name‘的值
- 查找键,参数支持正则表达式
Keys pattern
例:keys * 查看所有的键
- 删除键及对于的值
del key1 key2
- 清除redis数据库数据
flushall
2. redis List类型使用
- 添加数据(范围控制)
- 修剪(trim)一个已经存在的list ltrim 与lpush 联合使用
**ltrim key start stop ** (修剪范围的控制)
例:pipline.ltrim(key, 0, 5) # 最多只保存5条浏览记录
- 添加新的数据
lpush key value [value….] 从列表的左边入队,添加一个或多个数据
例:pipline.lpush(key, name)
- 获取存储在redis中的数据
Lrange key start stop 从列表中获取指定的返回元素
0(表示list的开头);-1(表示列表的最后一个元素)
例:conn.lrange(name, 0, 5)
- 移除列表中的数据
lrem key count value 删除列表数据
count>0:表示从头往尾移除值为 value 的元素
count<0:表示从尾往头移除值为 value的元素
count=0:表示移除所有值为value的元素
例: lrem(name,0,yuhao)
3. redis Set(集合)类型使用
- 添加数据
sadd key member[member…] 集合添加数据,可以添加多个数据,集合去重
例:pipline.sadd(user, user_id)
- 获取数据
**smembers key ** 获取返回key集合所有的数据
例:conn.smembers(user)
- 删除数据
srem key member[member….] 从集合删除一个或多个数据
例:pl.srem(user_id, name)
4. redis Hash 类型使用
- 添加数据(数量关系的储存)
hincrby key filed increment key:自定义key与哈希集关联
例:pipline.hincrby(user_id, ski_id, count) key:{filled:increment}
- 获取数据
hgetall key 返回key 指定的哈希集合所有的字段和值
例:conn.hgetall(user_id)
》{sku_id:11, sku_id:12}
- Hset 设置hash里面一个字段的值
**hset key filed value ** 修改key指定哈希集合里面——filed值的value
例:pipline.hset(user_id, sku_id,count)
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HGET myhash field1
"Hello"
- Hmset 设置key指定的哈希集中指定字段的值
- 该命令将重写所有在哈希集中存在的字段
- 如果key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联
Hmset key filed value[filed value…]
例:pipeline.hmset(user_id, cart)
写入多个数据:{sku_id:count ,sku_id2:count} 不存在,则添加,存在重写存在的key
- Hdel 删除数据
hdel key field [field…] 删除一个或者多个hash的field
例: pipline.hdel(user_id, sku_id) 删除hash的field(删除一个或者多个)

网友评论