在windows上部署redis服务,这样我们就不用使用两个命令窗口
redis-server --service-install redis.windows.conf
启动redis服务
redis-server --service-start
停止redis服务
redis-server --service-stop
连接redis
redis-cli.exe -h ip地址 -p 端口
字符串操作(一定要先连接redis)
- 赋值-----set key value
- 取值-----get key
- 先取值后赋值------getset key value
- 删除----del key
- 自增----incr key(key对应的value必须是数值类型的字符,若未设置初始值,则从0开始)
- 自减----decr key(key对应的value必须是数值类型的字符,若未设置初始值,则从0开始)
- 扩展命令
incrby----递增设定的数值(key对应的value必须是数值类型的字符,若未设置初始值,则从0开始)
decrby-----递减设定的数值(key对应的value必须是数值类型的字符,若未设置初始值,则从0开始)
append key value----拼接字符串,其中integer的值为字符串的长度,若key不存在时,会自动创建一个字符串并终值value
哈希操作(一定要先连接redis)
首先,我们得知道hash类型是存储String key和String value的map容器,适合用于存储对象
- 赋值
hset hashkey Stirng key String value(单个设置)
hmset hashkey {String key1 String value1,String key2 String value2........}
- 取值
hget hashkey String key(获取单个键对应的值)
hmget hashkey String key1 String key2.....(这个表示可以获取多个键所对应的值)
hgetall hashkey(获取所有key和value)
- 删除
hdel hashkey String key1 String key2.......(表示删除多个键所对应的值)
还可以删除不存在的字段,但是结果会显示为0
del hashkey表示删除这个map
- 递增对应的值
- 判断对应的myhash是否存在,若存在返回1,不存在返回0
hexists hashkey String key
- 判断对应myhash的长度,返回长度
hlen hashkey
- 获得所有的key
获取所有的value
hvals hashkey
列表操作(一定要先连接redis,经常用于消息队列的服务,完成多个程序之间的交互)
- 添加元素到列表的左边-----lpush listkey value1 value2 ......(返回值为列表的长度)
- 添加元素到列表的右边------rpush listkey value1 value2 .....(返回值为列表的长度)
- 查看list集合----lrange listName start end(可正可负,若为负则是从右边开始算,-1则表示最后一个,0到end和0到-1一样,都是闭区间)
- 弹出操作
头部弹出-----lpop key(会弹出左边第一个值,若有值,则弹出并会显示弹出的值,若没有,则返回null)
尾部弹出----- rpop key(会弹出右边第一个值,若有值,则弹出并会显示弹出的值,若没有,则返回null)
- 获取列表中元素的个数-----llen key(会返回列表的长度)
- 当list中的key存在时才会插入一个值并返回当前列表的长度,若不存在则不会插入并返回0
从左边插入-----lpushx key value
从右边插入-----rpushx key value
- 删除操作----lrem key count value(会删除count个值为value的元素。count大于0的时候,表示从头开始删除count个值为value的元素。若count小于0,则表示从后边往前遍历并删除count个值为value的元素。若count等于0.则表示删除链表中所有值为value的元素)
- 在指定的位置插入元素----lset key location value(location从0开始)
- 在某个元素之前插入值----linsert key before 目标元素 插入元素
- 在某个元素之后插入值----linsert key after 目标元素 插入元素
- 将第一个链表中的尾部弹出并压入到第二个链表的头部----rpoplpush key1 key2
Set集合操作(一定要先连接redis,元素不能重复)
- 添加元素----sadd key value1 value2......
- 删除元素----srem key value1 value2....
- 查看数据----smembers key
- 判断指定元素是否包含在set里面----sismember key value,若返回1则表示存在,若返回0表示不存在
- 差集运算----sdiff key1 key2......
- 交集运算----sinter key1 key2.....
- 并集运算----sunion key1 key2....
- 获得集合中具体的数量----scard key
- 随机获得set集合中的一个元素----srandmember key
- 将两个集合相差的元素存储在另一个集合中----sdiffstore newkey key1 key2
- 将两个集合的交集存储在另一个集合中-----sinterstore newkey key1 key2
- 将两个集合的并集存储在另一个集合中----sunionstore newkey key1 key2
Sorted-Set集合操作(一定要先连接redis,元素不能重复,但分数(score)却可以重复)
- 添加元素----zadd key score1 value1 score2 value2......
- 获得分数----zscore key value
- 获得具体成员的数量----zcard key
- 删除操作----zrem key value1 value2......
- 查找范围内的值-----zrange key num1 num2(这是从大到小排序的)
- 查找范围内的值并和分数一起显示出来------zrange key num1 num2 withscores(这是从大到小排序的)
- 查找范围内的值并和分数一起显示出来(从大到小)----zrevrange key num1 num2 withscores
- 按照范围进行删除元素------zremrangebyrank key num1 num2
- 按照分数范围内删除元素-----zremrangebyscore key num1 num2
- limit表示后面只显示的个数
- 使指定的分数进行增加----zincrby key num value
- 显示指定分数范围内的个数----zcount key start end
Keys的通用操作
- 显示所有的key----keys *
- 查询key的模糊查询----keys string?
- 删除指定的key----del key1 key2 key3.......
- 判断key是否存在,若存在返回1,不存在返回0----exists key
- 设置键的过期时间----expire key seconds
- 获得key剩下的超时时间,若设置了会返回相应的值,所没有设置则会返回-1----ttl key
- 查看键的类型----type key
多数据库
用户可以自己选择连接相应的数据库,一共有16个,下标从0-15,默认连接第一个,即0。
- 选择连接相应的数据库----select i
- 将一个数据库中的key移到另外的地方----move key 数据库的下标
事务
- 开启事务----multi
- 提交事务----exec
- 回滚事务----discard