mirror of
https://github.com/redis/go-redis.git
synced 2025-07-28 06:42:00 +03:00
Add ClusterPipeline.
This commit is contained in:
@ -117,51 +117,52 @@ var _ = Describe("Command", func() {
|
||||
})
|
||||
|
||||
Describe("races", func() {
|
||||
var C, N = 10, 1000
|
||||
if testing.Short() {
|
||||
N = 100
|
||||
}
|
||||
|
||||
It("should echo", func() {
|
||||
var n = 10000
|
||||
if testing.Short() {
|
||||
n = 1000
|
||||
}
|
||||
|
||||
wg := &sync.WaitGroup{}
|
||||
wg.Add(n)
|
||||
for i := 0; i < n; i++ {
|
||||
for i := 0; i < C; i++ {
|
||||
wg.Add(1)
|
||||
|
||||
go func(i int) {
|
||||
defer GinkgoRecover()
|
||||
defer wg.Done()
|
||||
|
||||
msg := "echo" + strconv.Itoa(i)
|
||||
echo := client.Echo(msg)
|
||||
Expect(echo.Err()).NotTo(HaveOccurred())
|
||||
Expect(echo.Val()).To(Equal(msg))
|
||||
for j := 0; j < N; j++ {
|
||||
msg := "echo" + strconv.Itoa(i)
|
||||
echo := client.Echo(msg)
|
||||
Expect(echo.Err()).NotTo(HaveOccurred())
|
||||
Expect(echo.Val()).To(Equal(msg))
|
||||
}
|
||||
}(i)
|
||||
}
|
||||
wg.Wait()
|
||||
})
|
||||
|
||||
It("should incr", func() {
|
||||
var n = 10000
|
||||
if testing.Short() {
|
||||
n = 1000
|
||||
}
|
||||
|
||||
key := "TestIncrFromGoroutines"
|
||||
wg := &sync.WaitGroup{}
|
||||
wg.Add(n)
|
||||
for i := 0; i < n; i++ {
|
||||
for i := 0; i < C; i++ {
|
||||
wg.Add(1)
|
||||
|
||||
go func() {
|
||||
defer GinkgoRecover()
|
||||
defer wg.Done()
|
||||
|
||||
err := client.Incr(key).Err()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
for j := 0; j < N; j++ {
|
||||
err := client.Incr(key).Err()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
}()
|
||||
}
|
||||
wg.Wait()
|
||||
|
||||
val, err := client.Get(key).Int64()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(val).To(Equal(int64(n)))
|
||||
Expect(val).To(Equal(int64(C * N)))
|
||||
})
|
||||
|
||||
})
|
||||
|
Reference in New Issue
Block a user