Redis基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3837字,纯文字阅读大概需要6分钟。
内容图文
NoSql中的扛把子! —— Redis
Redis基础
什么是Redis
- 属于NoSql
- 开源 先进的key-value存储
- 一个基于内存的网络存储系统
redis中文网
Redis的特点
- 性能极高,适合高并发读写
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘里,重启的时候再次进行加载(持久)
- Redis支持数据结构多达5种:字符串 哈希 列表 集合 有序集合(花样多)
- Redis支持数据的备份,master-slave模式的数据备份
Redis应用场景
1、取最新 N 个数据的操作
2、排行榜应用,取 TOP N 操作
3、需要精准设定过期时间的应用
4、计数器应用
5、Uniq 操作,获取某段时间所有数据排重值
6、实时系统,反垃圾系统
7、Pub/Sub 构建实时消息系统
8、构建队列系统
9、缓存
一般情况
string类型:适合计数器 系统缓存(把对象 数组 串行化存入string)
Hash类型:适合做数据缓存(用户数据)
List类型:适合做数组搜索(队列系统,关注列表、粉丝列表丶数据统计)
集合类型:适合做好友推送(商品推送时) unique操作 获取某段时间内所有数据的排重值 统计网站访问的所有独立ip
有序集合类型:适合商品排序(排行榜) 需要精准设定过期的应用(时间戳为score)
ubuntu安装redis
1 | $sudo apt-get update |
- 注意:apt重新重装redis配置文件会丢失,记得备份(踩过的坑)
启动与关闭 redis-cli 开启redis redis-cli shutdown 关闭redis service redis-server restart 重启redis
Redis数据结构命令
字串类型
注意:
- redis可以存和获取中文 需要通过redis-cli –raw
- redis中没有表概念,所有的数据都存入键中>string键类型:所有的值(可以是任何数据类型)都保存在一个键当中,放在一个内存块中
string(字串类型) | 例子 | |
---|---|---|
set 键 值 | 设置一个键和值,键存在则覆盖,返回ok | set name xuyong |
get 键 | 获取一个键,返回的是值 | get name |
setnx 键 值 | 只有当该键不存在时设置一个键的值,若键已存在则返回integer0表示失败(防止覆盖) | setnx age 18 |
setex 键 [有效时间] 值 | 设置一个指定有效期的键和值(单位秒)。不写有效时间则表示永久有效,等价于set | setex movie 30 白蛇:缘起 |
ttl 键 | 获取键的有效时间 , 当 key 不存在时,返回 -2 , 当 key 存在但没有设置剩余生存时间时,返回 -1 | ttl movie |
setrange 键 位置 子字串 | 替换子字符串 (替换长度由子子串长度决定) abcdefg 从c开始替换,bad. Abbadfg | setrange key 2 liming p |
mset 键1 值1 键2 值2 键3 值3 …. | 批量设置键和值,成功则返回ok | mset name1 lm name2 sc name3 |
msetnx 键1 值1 键2 值2 键3 值3 …. | 批量设置不存在的键和值(当键不存在时候才成功),成功则返回ok | msetnx b1 1 b2 2 b3 3 |
mget 键1 键2 键3… | 批量获取值 | mget name1 name2 name3 |
getset 键 新值 | 获取原值,并设置新值 | getset name "liming" ,原本的shenchao变成liming |
getrange 键 0 4 | 获取指定范围的值(获取指定0到4位置上的值,字符串位置从0开始计算 | getrange key1 0 4 |
incr键 | 指定键的值做加1操作,返回加后的结果(只能加数字,非数字会报错) | incr age |
decr键 | 指定键的值做减1操作,返回减后的结果 | decr age |
incrby 键 m | 加指定值,键不存在时候会设置键, 其中m可以是正整数或负整数 | incrby age 10 |
decrby 键 m | 同上,但是是减值 | decrby age 5 |
append 键 追加字串 | 给指定key的字符串追加value,返回新字符串值的长度 | append name1 " have a new computer!" |
strlen键名 | strlen求一个键长度 | strlen name1 |
del命令 | 删除一个键 | del name3 |
hashs类型
hash | ||
---|---|---|
hset 哈希集(键) 字段 值 | 设置一个键,在键中保存字段和值 | hset key field value |
hsetnx 键 字段 值 | 设置一个键中,不存在的字段和值。如果字段存在则报错(成功返回1,失败返回0) | hsetnx user1 name1 lm |
hmset 键 字段1 值1 字段2 值2 … | 在一个键中,批量设置字段$redis->hMset("user".$uid,array("uid"=>$uid,"username"=>$username) |
hmset star name xuyong age 45 height 150 |
hget键字段 | 获取键中的一个指定字段的值 | hget star name |
hmget 键 字段 | 获取多个字段的值 | hmget star name age height |
hexists 键 字段 | 判断指定的字段是否存在于键中 | hexists star age |
hlen | 获取键中的字段数量 | hlen star |
hkeys | 获取键中的所有字段名 | hkeys star |
hvals | 获取键中所有字段的值 | hvals star |
hgetall | 获取键中的所有字段和值 | hgetall star |
hincrby | 将键中指定字段的值,增加指定的数字 | hincrby star age 5, |
hdel 键 字段1 字段2 | 删除键中的一个或多个字段 | ———————————————————————————————————————————————————————————————————————————————————————————–hdel star age interest |
内容总结
以上是互联网集市为您收集整理的Redis基础全部内容,希望文章能够帮你解决Redis基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。