Redis基本操作

nosql指的是非关系型数据库,分布式,开源,可扩展,不仅仅是sql,是反sql运动
nosql的特点{
1、处理超大量的数据
2、运行在比较便宜的pc服务器上
3、性能好,不需要优化
}
nosql适用于{
1、数据的高并发读写
2、高效率的存储和访问
3、高可用和可扩展(分布存储,比较简单,轻松)
}
redis的介绍{
字符串
哈希
列表
集合
有序集合
}
nosql的数据库种类比较多,但是他们都不是关系型数据库
mongdb最类似关系型数据库,但是不是关系型数据库
memcache高速的缓存
redis数据类型丰富
面试是提问redis时,主要回答{
kv(键值)
cache(缓存)
persistence(持久化)
}
3V{
海量(Volume)
多样(Variety)
实时(Velocity)
}3高{
高并发
高可扩
高性能(高可用)
}


/////////////////////redis//////////////////////


redis简介{
nosql的概述 高读写,高存访,高可扩 
redis的概述 c开发的,支持类型多【字符,列表,有序集合,散列类型,集合,哈希】应用场景【缓存,任务队列,网站访问统计,数据过期,应用排行榜,分布式集群集合架构中的session分离】
redis的安装和使用
jedis的入门 可以连接redis
redis的数据类型
keys的通用操作
redis的特性
redis的持久化
}
redis安装{
yum install gcc-c++ (2次y)
上传redis到服务器,减压
减压的文件里make
添加安装路径make PREFIX=/usr/local/redis  install
复制cp redis.conf /usr/local/redis/
前段启动redis命令./bin/redis-server
后端启动redis命令,先修改redis.conf,找到daemonize no修改成daemonize yes
后端启动./bin/redis-server ./redis.conf
关闭redis命令./bin/redis-cli shutdown
测试是否能运行./bin/redis-cli,然后输入ping,收到pong,成功了
存数据:set  key  value
取数据:get  key
删数据:del  key
查字段:keys  *
}
redis的数据类型{
key不要大于1024个字节,降级效率
key不要短,降低可读性
二进制存入和获取是相同的
value字符串的最大长度是512M
/*************、、字符串、、**************/
取:get  key  value
存:set  key
加1:incr key
减1:decr key
加x:incrby key X
减x:decrby key x
取后修改:getset key  value
拼接x:append key x
/*************、、hash、、**************/
取:hget key  字段
存:hset key  字段  值
取全部:hgetall key 
存多个:hmset key 字段1  值1 字段2  值2 ····
删除:hdel key 字段
获取值:hvals key
获取字段:hkeys key
/*************、、列表、、**************/
存:lpush key 值1 值2 ······
左取:lrange key 第几个开始 第几个结束
左取:lpop key 第几个开始 第几个结束
右取:rpop key 第几个开始 第几个结束
获取长度:llen key
头部插入:lpushx key 值
尾部插入:rpushx key 值
上-下删除:lrem key  删几个几
下-上删除:lrem key  负数删除几个几
删除所有:lrem key 0 删除的数
插入:linsert key before 值  在值前插入的数
:linsert key after 值  在值后插入的数
移动数据:rpoplpush key1 key 【key1少1 key2多1】
/*************、、set[唯一性]、、**************/
添加:sadd key 值1 值2 值3
删除:srem key 值1 值2
查看:smembers key
是否存在:sismembers key 要找的值
差集运算:sdiff key1 key2
交集运算:sinter key1 key2
并集运算:sunion key1 key2
得到数量:scart key
取随机数:srandmemder key
差集另存:sdiffstore 另存的key key1 key2
交集另存:sinterstore 另存的key key1 key2
并集另存:sunionstore 另存的key key1 key2
/*************、、sorted-set、、**************/
添加:zadd key 值1 字段1 值2 字段2·····
可以覆盖:原有的数据可以覆盖
查找1个:zscore key 字段
删除:zrem key 字段1 字段2 
产看长度:zcard key
查看数据;zrange key 0 -1
展示所有对应的数据:zrange key 0 -1 withscores (由小到大)
展示对应的数据:zrevrange key 0 -1 withscores(由大到小)
按顺序多个删除:zremrangebyrank key 要删除的区间
按分数删除:zremrangebyscore key 分数的区间
限制条数:zrange key 0 -1 withscores limit 第几条开始 显示条数
加减分数:zincrby(zdecrby) key 加减分数(3) 字段(李四)
统计条数:zcount key 区间
/*************、、key的应用、、**************/
修改key:rename 原名 新名
过期时间:expire key 时间(1000秒)
查看过期时间:ttl  key
查看类型:type key
}
redis的特性{
多数据库{
最多提供16个数据库
默认使用的是0号数据库
选择数据库:select 库的编号
数据换库:move key 数据库的编号
}
支持事务{
multi 开启事务
exec 提交事务
discard 回滚
}
}
redis持久化{
RDB ( 可以拷贝数据,但是断网都不存在)
AOF (安全,断网了,修改的数据会丢失,出现断网,日志文件不会丢失,文件过大,可以重写)
}

你可能感兴趣的:(php-nosql)