首页 \ 问答 \ Redis中的事务自动增量ID(ServiceStack RedisClient)(Autoincrement Id with transaction in Redis (ServiceStack RedisClient))

Redis中的事务自动增量ID(ServiceStack RedisClient)(Autoincrement Id with transaction in Redis (ServiceStack RedisClient))

使用IncrementKey的ActionSuccess回调在事务中不起作用:

public class Article
{
    public long Id { get; set; }
    public string Name { get; set; }
}

[Test]
public void Can_create_article_with_autoincremental-id()
{
    Article a = new Article() { Name = "I Love Writing Test" };
    using (var trans = Redis.CreateTransaction())
    {
        trans.QueueCommand(r => r.IncrementValue("id:article"), id => a.Id = id);
        trans.QueueCommand(r => r.Store<Article>(a));

        trans.Commit();
    }

    Assert.That(Redis.Get<Article>("1").Id,Is.Equal("1"));
}

ActionSuccess callback with IncrementKey does not work in transaction:

public class Article
{
    public long Id { get; set; }
    public string Name { get; set; }
}

[Test]
public void Can_create_article_with_autoincremental-id()
{
    Article a = new Article() { Name = "I Love Writing Test" };
    using (var trans = Redis.CreateTransaction())
    {
        trans.QueueCommand(r => r.IncrementValue("id:article"), id => a.Id = id);
        trans.QueueCommand(r => r.Store<Article>(a));

        trans.Commit();
    }

    Assert.That(Redis.Get<Article>("1").Id,Is.Equal("1"));
}

原文:https://stackoverflow.com/questions/10907878
更新时间:2023-08-30 07:08

最满意答案

您可以将编码传递给Integer#chr

hex = 0x0905
hex.chr('UTF-8') #=> "अ"

如果Encoding::default_internal设置为UTF-8,则可以省略该参数:

$ ruby -E UTF-8:UTF-8 -e "p 0x0905.chr"
"अ"

您还可以将代码点附加到其他字符串:

'' << hex #=> "अ"

You can pass an encoding to Integer#chr:

hex = 0x0905
hex.chr('UTF-8') #=> "अ"

The parameter can be omitted, if Encoding::default_internal is set to UTF-8:

$ ruby -E UTF-8:UTF-8 -e "p 0x0905.chr"
"अ"

You can also append codepoints to other strings:

'' << hex #=> "अ"

相关问答

更多

相关文章

更多

最新问答

更多
  • 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
  • Java中的不可变类(Immutable class in Java)
  • 寻求多次出现的表达式(Seeking for more than one occurrence of an expression)
  • linux只知道文件名,不知道在哪个目录,怎么找到文件所在目录
  • Actionscript:检查字符串是否包含域或子域(Actionscript: check if string contains domain or subdomain)
  • 懒惰地初始化AutoMapper(Lazily initializing AutoMapper)
  • 使用hasclass为多个div与一个按钮问题(using hasclass for multiple divs with one button Problems)
  • Windows Phone 7:检查资源是否存在(Windows Phone 7: Check If Resource Exists)
  • EXCEL VBA 基础教程下载
  • RoR - 邮件中的动态主体(部分)(RoR - Dynamic body (part) in mailer)
  • 无法在Google Script中返回2D数组?(Can not return 2D Array in Google Script?)
  • JAVA环境变量的设置和对path , classpth ,java_home设置作用和目的?
  • mysql 关于分组查询、时间条件查询
  • 如何使用PowerShell匹配运算符(How to use the PowerShell match operator)
  • Effective C ++,第三版:重载const函数(Effective C++, Third edition: Overloading const function)
  • 如何用DELPHI动态建立MYSQL的数据库和表? 请示出源代码。谢谢!
  • 带有简单redis应用程序的Node.js抛出“未处理的错误”(Node.js with simple redis application throwing 'unhandled error')
  • 使用前端框架带来哪些好处,相对于使用jquery
  • Ruby将字符串($ 100.99)转换为float或BigDecimal(Ruby convert string ($100.99) to float or BigDecimal)
  • 高考完可以去做些什么?注意什么?
  • 如何声明放在main之后的类模板?(How do I declare a class template that is placed after the main?)
  • 如何使用XSLT基于兄弟姐妹对元素进行分组(How to group elements based on their siblings using XSLT)
  • 在wordpress中的所有页面的标志(Logo in all pages in wordpress)
  • R:使用rollapply对列组进行求和的问题(R: Problems using rollapply to sum groups of columns)
  • Allauth不会保存其他字段(Allauth will not save additional fields)
  • python中使用sys模块中sys.exit()好像不能退出?
  • 将Int拆分为3个字节并返回C语言(Splitting an Int to 3 bytes and back in C)
  • 在SD / MMC中启用DDR会导致问题吗?(Enabling DDR in SD/MMC causes problems? CMD 11 gives a response but the voltage switch wont complete)
  • sed没有按预期工作,从字符串中间删除特殊字符(sed not working as expected, removing special character from middle of string)
  • 如何将字符串转换为Elixir中的函数(how to convert a string to a function in Elixir)