redis常用语句

Redis常用语句

一.String类型

1.存一个值: set  k  v 
	取值: get k
2.存取多个值:mset k1 v1 k2 v2 
	取多个值:mget k1 k1
3.存取并赋值:getset k v
	取值:get k
4.删除:del k
5.数值递增:incr num
  指定数值递增:incrby num 2
6.数值递减:decr drcrby num 2

二.hash散列类型

1.存一个值:hset user username xiaoming 
	取值:hget user username
2.存取多个值:hmset user username xiaoming age 12
	取多个值:hmget user username age
3.取出所有值:hgetall
4.增值:hincrby user age 12
5.减值:hdecrby user age 4
6.删除字段:hdel user username
7.是否存在字段:hexists user hobby
8.特点:可以存储对象 给对象赋值	

三.list列表类型

1.向左边列表增加元素:lpush agelist 1 2 3
	查看元素:lrange 0 2 或者lrange 0  -1
2.向右边列表增加元素:rpush agelist 1 2 3
	查看元素:lrange 0 2或者lrange 0 -1 
3.左移除并返回元素:lpop agelist 3	
4.右移除并返回元素:rpop agelist 3	
5.特点:有序可重复

四.set集合类型

1.添加元素:sadd list 1
   查看元素:smembers list
2.删除元素:srem list 1
3.查看元素是否在集合中:sismembers list 1
4.集合运算:
	差集运算: sadd seta 1 2 3 
					sadd setb 2 3 4
					sdiff seta setb
	交集运算: sinter seta setb
	并集运算: sunion seta setb
5.特点:集合类型无序 不可重复

五.sortedset

1.增加元素:zadd testscore 80 zhangsan 90 lisi
  获取元素:zscore testscore lisi
 2.删除元素:zrem testscore lisi
 3.获取排名列表(默认从小到大):zrange testscore 0 2或者0 -1
 	在获取排名的同时显示分数:zrange 0 -1 WITHSCORES
 4.排名(默认从0开始):zrank testscore li
 5.特点:是有序集合  可以排序

六.通用命令

1.获取所有类型的键:keys*
2.元素是否存在:exists k
3.重命名:rename name name_new
4.返回值类型:type age
5.设置key的生存时间:expire k 5
	查看删除剩余时间:ttl test

暂时就这么多了,后续会补充…

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
抱歉,我不是一个可以浏览互联网的程序,也不会进行搜索。但是,我可以为您介绍一下ServiceStack.Redis常用操作,包括事务和并发锁。 1. 事务 在ServiceStack.Redis中,您可以使用事务来确保多个命令的原子性。以下是一个使用事务的示例: ``` using (var redis = RedisManager.GetClient()) { var tx = redis.CreateTransaction(); tx.QueueCommand(r => r.Set("key1", "value1")); tx.QueueCommand(r => r.Set("key2", "value2")); tx.Commit(); } ``` 在这个例子中,我们使用`redis.CreateTransaction()`来创建一个事务,然后使用`tx.QueueCommand()`方法将多个命令添加到事务中,最后使用`tx.Commit()`方法来提交事务。如果有任何一个命令失败,整个事务将被回滚。 2. 并发锁 在多线程环境下,为了避免数据竞争和并发问题,我们需要使用并发锁来确保同一时间只有一个线程可以修改数据。在ServiceStack.Redis中,您可以使用`IRedisClient.AcquireLock()`方法来获取一个锁,使用`IRedisClient.ReleaseLock()`方法来释放锁。 以下是一个使用并发锁的示例: ``` using (var redis = RedisManager.GetClient()) { using (var lock = redis.AcquireLock("mylock")) { // do some work } } ``` 在这个例子中,我们使用`redis.AcquireLock()`方法来获取一个名为"mylock"的锁,并使用`using`语句来确保锁在使用完后被释放。如果另一个线程已经获取了这个锁,那么当前线程将被阻塞,直到锁被释放。 希望这些信息能对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南城☾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值