1.redis相关指令

一.redis启动相关

1.进入目录
cd /usr/local/redis/bin

2.前台启动
./redis-server
//退出
ctrl+c

3.后台启动
//后台启动配置
cp /opt/redis-4.0.9/redis.conf /usr/local/redis/bin
修改配置文件为
//daemonize yes
//启动命令
./redis-server redis.conf


4.//查看redis进程
 ps aux|grep redis

5.redis连接客户端

./redis-cli -h 192.168.171.3 -p 6379 -a "q123456"

二.redis存储字符串

//1.赋值set key value
set company itcast

//2.取值get key
注意:如果与该key关联的value不是String类型 redis将返回错误信息 如果该key不存在 返回nil
get company

//3.删除 del key
del person

//4.数值增减(value为数字时使用)
incr key:将指定的key的value的原子性的递增1 如果该key不存在 将初始值为0 在incr之后其值为1 如果
value的值不能转成整形 如hello 该操作将执行失败并返回相应的错误信息
decr key:i--
incrby key n:i+=n;
decrby key n:i-=n;

//5.拼接字符串
append key value:追加字符串 与javascrpt一致(如果该key不存在 将新增一个)

三.redis哈希存储

hash类型 hashmap<string key,string value>
该类型适合存储对象的信息
每一个hash可以存储4294967295个键值对

//1.赋值 hset key field value
hset myhash username 123456
hset myhash age 123456

//2.取值 hget key field
//取出所有值
hgetall myhash
//取出某个字段的值
hget myhash username
hget myhash username,age

四.list

字符串链表 在两头插入数据非常高效 而在中间插入则非常慢

//1.两端添加 lpush key value1 value2 value3 (无该key则自动创建一个)
//头部添加
lpush mylist a b c
//尾部添加 在list尾部添加
rpush key value1 value2 value3

//2.查看列表 lrange key start end
获取链表从start 到end元素的值 start end从0开始数 可以是负数 -1为链尾元素 -2表示倒数第二个
lrange mylist 0 5
lrange mylist 0 -1

//3.两端弹出
lpop key 返回并弹出指定key关联的链表的第一个元素 即头部元素 如果该key不存在 返回nil 若key存在
返回链表头部元素
lpop mylist

rpop key 从尾部弹出元素

//4.获取链表中的元素个数
llen key 返回指定key关联的链表元素的数量
llen mylist

//5.扩展命令
lpush key value :仅当参数指定的key存在时 向关联中的表的头部插入value 如果不存在 将不插入

rpushx key value:在该list尾部添加元素

lrem key count value 删除count个值为value的元素 如果count大于0 从头到尾遍历删除count个值为value的元素
小于0 从尾到头 等于0 删除所有为value的元素

lset key index value:设置链表中的索引的元素值 0代表头元素 -1代表链表的尾元素

linsert key before|after pivot value 在pivot元素前或后插入value这个元素

rpop|push resource destination: 将链表中的尾部元素弹出并添加到表头(循环操作)

五.Set

//1.添加元素
sadd key value1 value2

//2.删除
srem key member1 member2

//3.获得集合中的元素
smembers key //获取该set中所有的成员

sismember key member: //判断参数中指定的成员是否在该set中 1表示存在 0表示不存在 或者该key本身就不存在

//4.集合的差集运算(用于两个set对象)
sdiff key1 key2 ..:返回key1 key2相差的成员 而且与key的顺序无关 即返回差集

//5.集合的交集运算
sinter key1 key2 key3

//6.并集运算
sunion key1 key2 key3

//7.扩展命令
scard key //获取set中成员的数量

srandmember key //随机返回set中的一个成员

sdiffstore destination key1 key2 //将key1 key2 相差的成员存储在destination上

sinterstore destination key1 key2    //将返回的交集存储在destination上

sunionstore destination key1 key2    //将返回的并集存储在...

//8.使用场景
可以使用redis的set数据类型跟踪一些唯一性数据 比如访问某一博客的唯一ip地址信息 需要在每次访问该博客时将访问者的IP存入到redis中 set数据类型会自动保证IP地址的唯一性

六.sorted-set

sorted-set与set相似 区别是每一个成员都会有一个分数与之关联 redis正是通过分数为集合中的成员进行从小到大的排序

//1.添加元素
zadd key score member score 2 member2

//2.获得元素
zscore key member //返回指定成员的分数

zcard key    //获取集合中的成员变量

//3.删除元素
zrem key member //移除集合中指定的成员 可以指定多个成员

//4.范围查询
zrange key start end [withscores] //获取集合中索引 start-end成员 [withscores]参数表明返回成员包含其分数

zrevranage key start stop [withscores] //照元素分数从大到小的顺序返回索引从start到stop之间的所有元素
(包含两端的元素)

zremrangebyrank key start stop //按照排名范围删除元素

zremrangeby score key min max //按照分数范围删除元素

//5.扩展命令
zrangebyscore key min max [withscores] [limit offset count] //返回分数在min amx的成员并按照scores从低到高排序
zrangebyscore mysort 0 100 withscores

zincrby key increment member //设置指定成员的增加的分数 返回值是更改后的分数

zcount key min max //获得分数在min max之间的成员

zrank key member //返回成员在集合中的排名 (从大到小)

zrevrank key member //返回成员在集合中的排名

7.通用操作

//1.返回所有与该key匹配的keys *表示任意一个或多个字符?表示任意一个字符
key pattern

//2.删除指定的key
del key1 key2

//3.判断该Key是否存在
exists key     

//4.为当前的key重命名
rename key newkey

//5.设置过期时间 单位:秒
expire key 3600

//6.获取该key所剩余的时间 如果没有设置超时 则返回-1 返回-2表示超时不存在
ttl key

//7.获得指定key类型
type key

8.服务器命令

//1.测试连接是否存活
ping

//2.在命令行打印一些内容
echo zhangsan

//3.返回当前数据库中key的数目
dbsize

//4.获取服务器的信息和笔记
info

//5.删除当前选择数据库中的所有key
flushdb

//6.删除所有数据库中的所有key
flushall

9.消息订阅与发布

//1.订阅频道 subscribe channel 例:subscribe mychat 订阅mychat这个频道

//2.psubcribe channel* 批量订阅频道 例:psubscribe* 订阅以s开头的频道

//3.publish channel content:在指定的频道发布信息 如publish mychat "today is beautiful day"

10.开启事务

//开启事务 begin transation
multi

//提交事务 commit
exec

//回滚事务 rollback
discard

猜你喜欢

转载自blog.csdn.net/weixin_37757346/article/details/81429291