redis基础语法学习

测试redis性能

使用redis-benchmark来测试redis的性能,set中,第一行表示100000个请求在5.82s完成,有50个并行客户端,每次只写入三个字节,保持连接的数量是1。

redis特点

redis是基于内存运行的,存储的是key-value键值对,redis中的数据大部分时间都是存储在内存中的,所以不适合存储大量的数据,适合存储频繁访问、数据量比较小的数据。

基础知识

redis默认有16个数据库,默认使用第0个。select 数 //切换到第几个数据库

dbsize  //查看数据库大小
keys * //查看当前数据库所有的key
flushdb  //清空当前数据库
flushall   //清空所有数据库

exists  键值  //查看是否存在指定的键,是返回1,否返回0
move 键值 1  //从当前数据库中移除某个键值对,1代表当前数据库
expire  键值  秒数  //设置指定键值对的过期时间
ttl  键值 //查看当前key的剩余时间
type 键名  //查看对应的值的类型
append  键名  值  //向键名对应的值后面追加指定的值,如果键名不存在,就相当于set key
strlen  键名 //获取指定字符串的长度
incr  键名  //键值自增1
decr  键名  //键值自减1
incrby  键名  步长数 //设置指定键名增加的步长
decrby  键名  步长数 //设置指定键名减少的步长
getrange  键名  起始位置下标  终止位置下标 //提取指定键名的值的指定长度的字符串,后一个为-1表示一直到末尾。 是闭区间
setrange  键名  起始下标  要修改的值 //从指定的下标开始修改值
setex  键名  过期时间  键值 //设置键值对并设置过期时间
setnx  键名  键值  //如果键名不存在则创建,否则创建失败
mset 键名 键值  键名 键值 //批量设置键值对
mget 键名 键名 //同时获取多个值
msetnx 键名 键值 键名 键值 //是一个原子性操作,一起成功一起失败
getset 键名 键值 //先get再set,不存在返回null,存在返回以前的值

redis操作List

//操作list的命令都是以l开头的
127.0.0.1:6379> lpush list one //将一个值或者多个值插入到列表头部(左边)
(integer) 1
127.0.0.1:6379> lpush list two
(integer) 2
127.0.0.1:6379> lrange list 0 0
1) "two"
127.0.0.1:6379> rpush list rrr  //将一个值或者多个值插入到列表尾部(右边)
(integer) 3
127.0.0.1:6379> lrange list 0 0
1) "two"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
3) "rrr"
127.0.0.1:6379> lpop list
"two"
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "rrr"
127.0.0.1:6379> rpop list
"rrr"
127.0.0.1:6379> lrange list 0 -1
1) "one"
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lindex list 0  //通过下标获取值,没有**rindex**
"three"
127.0.0.1:6379> llen list   //查看list的长度
(integer) 3
127.0.0.1:6379> lrem list 1 one  //移除list中指定个数的指定的value值
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"



127.0.0.1:6379> lrange mylist 0 -1
1) "l"
2) "k"
127.0.0.1:6379> rpoplpush mylist myotherlist  //移除列表最后一个元素并把它移动到一个新的列表中
"k"
127.0.0.1:6379> lrange mylist 0 -1
1) "l"
127.0.0.1:6379> lrange myotherlist 0 -1
1) "k"
127.0.0.1:6379> lrange mylist 0 -1  
1) "k"
2) "l"
127.0.0.1:6379> lset mylist 0 m   //将列表中指定下标的值替换为另一个值,但是这个列表必须已经存在
OK
127.0.0.1:6379> lrange mylist 0 -1
1) "m"
2) "l"
127.0.0.1:6379>
127.0.0.1:6379> lrange mylist 0 -1
1) "m"
2) "l"
127.0.0.1:6379> linsert mylist before l k  //在指定的值前面插入值
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "m"
2) "k"
3) "l"
127.0.0.1:6379> linsert mylist after k j  //在指定的值后面插入值
(integer) 4
127.0.0.1:6379> lrange mylist 0 -1
1) "m"
2) "k"
3) "j"
4) "l"
127.0.0.1:6379>

redis操作set

set中的值是不能重复的

127.0.0.1:6379> sadd myset hk  //set中添加一个元素
(integer) 1
127.0.0.1:6379> sadd myset iiu
(integer) 1
127.0.0.1:6379> smembers myset    //查看所有set集合的值
1) "iiu"
2) "hk"
127.0.0.1:6379> sismember myset iiu  //查看set集合中是否有某个值
(integer) 1
127.0.0.1:6379> scard myset  //查看set集合的个数
127.0.0.1:6379> srem myset a  //移除set集合中某个元素
127.0.0.1:6379> smembers myset
1) "b"
2) "c"
127.0.0.1:6379> sadd myset2 u
(integer) 1
127.0.0.1:6379> smove myset myset2 b  //将一个set集合的元素移动到另外一个集合
(integer) 1
127.0.0.1:6379> smembers myset
1) "c"
127.0.0.1:6379> smembers myset2
1) "b"
2) "u"
127.0.0.1:6379>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值