并发测试
//命令1:测试100个并发连接,100000个请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
基础知识
redis 一共有16个数据库,我们默认的是第一个数据库 可以使用select 进行切换数据库 查看所有键值使用keys *
flushdb 清除当前数据库
FLUSHALL清除全部数据库
redis 是一个单线程的,采用了IO多路复用的形式去完成设计,而且数据的运算是键值对,简单高效容易使用。 同时,redis还是一个消息中间件,缓存结构。
set
set age 1
EXISTS age
//移除当前数据库的键值对
move age 1
get age //拿出age值
EXPIRE age //过期
type //查看当前键值对装的内容类型
redis String
APPEND key1 ""
//在string 后面增加子串
incr //变量自增相等于incr 1
decr //变量减少
GETRANGE key index1 index2 //取出某一段范围中的range
SETRANGE key index1 index2 //替换
ttl 查看某个变量的过期时间
setex 设置过期时间
setnx//Redis Setnx( SET if Not eXists )命令在指定的 key 不存在时,为 key 设置指定的值,这种情况下等同 SET 命令。当 key存在时,什么也不做。
mset k1 v1 k2 v2//同时设置多值
mget k1 k2 k3//同时设置多值
STRLEN key1//值的长度
设置对象
redis 有存储内存的一种方式
mset user:1:name zhangsan user:1:age 2
mget user:1:name user:1:age
getset db mongodb//先拿后取
List 数据类型
List 是一个单键多值的操作,有三种基本的命令形态
- Lpush key value
- Rpush 从右边插入
- Lrange key index1 index2 返回其中某一段的类型
删除
Lpop 从左边删除一个
Rpop 从右边删除一个
Llen list 统计List的长度
lrem list 1 "two"//删除1个list 中表示为two 的值
Ltrim key index1 index2 裁剪某段中的值
lset list 0 "数值“ //更新值
Redis 中的集合
# sadd 将一个或多个成员元素加入到集合中,不能重复 #
sadd myset "hello"
smembers 返回集合中的所有的成员。 #
smembers myset
sismember 命令判断成员元素是否是集合的成员。
sismember myset "gello"
scard myset//判断集合内部集合数
srem myset "value"//移除集合内部内容
SDIFF key1 key2 # 差集
SINTER key1 key2 # 交集
SUNION key1 key2 # 并集
Zset 有序集合
Zset 是有序集合,与set不同的是Zset 加上了序列的关系
Zadd mset 0:value
ZRANGE myset 0 -1//返回某一段范围内的数据
zrem setname keyname //移除某一个集合
zcard 计算某一个集合内的元素
ZCOUNT sset名 1 3
|